質問「ローカル(res / raw)ファイルを1行ずつ読み取る方法は?」同様の問題を扱っていますが、そこで提供された回答に基づいてソリューションベースを構築することができませんでした。私は非常に有用な情報(readLineメソッドを持つDataInputStreamクラス)を取得しました。これを開発者のWebサイトで調査し、機能させるように努めています。
私がやろうとしているのは、テキストファイルの連続する行に格納されている情報を文字列配列に読み込むことです。最初の行は最初の配列要素、2番目の行は次の配列要素などです。次にこの文字列配列は、次に開かれるアクティビティのテキストフィールドに入力するために使用されます。これはすべてスイッチケース内で発生します(ケースに応じて、つまりどのリストアイテムが選択されているかによって、異なるテキストファイルがロードされます)。これが私がこれまでに持っているものです:
//Retrieve necessary text file for inputstream
InputStream buildinginfo = getResources().openRawResource(R.raw.testbuilding);
class DataInputStream extends FilterInputStream{
protected DataInputStream(InputStream buildinginfo) {
super(buildinginfo);
// TODO Auto-generated constructor stub
int i;
String[] building_info;
//Assign lines of text to array
for(i=0; i<5; i++){
building_info[i] = buildinginfo.readLine();
}
}
}
これまでのところ、編集者はこれらのエラーを除いてそれで大丈夫です、そして私はそれらを理解するのに十分な経験がありません。私は彼らが言っていることを理解していますが、それらを修正する方法は理解していません。エラーは、入力ストリームを設定して値を割り当てようとしているスイッチケース内のセクションにあります。最も重要なことは、readLineコマンドが実行される行で、次のようになります。"-メソッドreadLineはタイプDataInputStreamに対して未定義です""-メソッドreadLineはタイプInputStreamに対して未定義です"
私が間違っていなければ、ここ(http://developer.android.com/reference/java/io/DataInputStream.html)にDataInputStreamクラスでreadLineメソッドが使用可能であると書かれているので(私はこれは上記の質問から)。明らかに、私はDataInputStreamを正しく使用していませんが、その方法を理解できないようです。私はここでいくつかの質問に目を通し、上記のリンク先のページを数回参照しました。
誰かが私が間違っていることを見ることができれば、私はあなたの助けを大いに感謝します。この種のタスクで間違ったツリーを完全に吠えている場合は、時間を無駄にしていることをお詫びしますが、いくつかのガイドラインまたは適切なチュートリアルリソースへの紹介をいただければ幸いです。私はこれらのエラーを理解するために過去2日間を費やしました。