1

私のアプリに同梱されているmyFile.txtというファイルを、assets フォルダー、res/raw フォルダーのいずれかで読み取ることができるようにしたいと考えています。

しかし!そのファイルの InputStream は必要ありません...次のようなことができるようにしたいです。

while ((reader = is.readLine()) != null) { ... }

私は周りを検索しましたが、実際には探しているものではなく、近いものを見つけました..

助けてくれてありがとう。

編集 - 私が試していたいくつかのコード:

InputStream in = this.mCtx.getResources().openRawResource(R.raw.myFile);
Reader is = new BufferedReader(new InputStreamReader(in, "UTF8"));

(今何? Reader クラスには readLine() メソッドがありません)

4

6 に答える 6

4

変えるだけ

Reader is = new BufferedReader(new InputStreamReader(in, "UTF8"));

BufferedReader is = new BufferedReader(new InputStreamReader(in, "UTF8"));

BufferedReader方法がありreadLine()ます。不必要に Reader にアップキャストし、追加機能を失うことになります。

于 2012-08-06T06:44:08.673 に答える
1

定義には Reader の代わりに BufferedReader を使用します。

BufferedReader is = new BufferedReader(new InputStreamReader(in, "UTF8"));

Bufferedreader には readline メソッドがありますが、リーダーはありません

于 2012-08-06T06:43:55.193 に答える
1

ファイルを sdcard に保存し、以下のコードの「file_path」でその場所を指定できます。

File selectedFile = new File("file_path");
FileInputStream fstream = new FileInputStream(selectedFile);
BufferedReader reader = new BufferedReader(new InputStreamReader(fstream));

その後

while ((strLine = reader.readLine()) != null)
{
        //Do Stuff Here
}
于 2012-08-06T06:44:26.033 に答える
0

私はあなたがそのようなものを使うべきだと思います:

BufferedReader in = new BufferedReader(new     InputStreamReader(activity.getAssets().open("yourfile")));

StringBuilder buffer = new StringBuilder(); while((line = in.readLine())!= null)buffer.append(line).append('\ n');

また、アセットディレクトリに.txt拡張子を付けずにファイルを配置するだけです。これがお役に立てば幸いです。

于 2012-08-06T07:18:26.743 に答える
0

これらの手順を使用して、それを完了してください....

File f = new File("/sdcard/MyFolder/MyFile.txt");
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);

StringBuilder sb = new StringBuilder();
String str = new String();

while((br.readLine())!=null){


   sb.append(br.readLine());  


 }

str = sb.toString();
于 2012-08-06T07:00:24.170 に答える
0

どうですか

BufferedReader reader = new BufferedReader(new BufferedInputStream(is));

編集:申し訳ありません-私のせいです。BufferedReader に固執するだけです。リソースを開くには、

InputStream is = getClass().getResourceAsStream("/org/example/res/my_file.txt");

Class#getResourceAsStreamを参照してください)

于 2012-08-06T06:35:15.870 に答える