私はres/rawフォルダに入れたwords.txt
ファイルを持っています。ファイル内の単語はスペースで区切られています。私は苦労してAndroid/Javaコードを書き、単語ごとにファイルを読む。Android生のテキストファイルを読む
答えて
res/raw
フォルダから文字列
InputStream inputStream = getResources().openRawResource(R.raw.yourtextfile);
BufferedReader bufferedReader= new BufferedReader(new InputStreamReader(inputStream));
String eachline = bufferedReader.readLine();
while (eachline != null) {
// `the words in the file are separated by space`, so to get each words
String[] words = eachline.split(" ");
eachline = bufferedReader.readLine();
}
生のフォルダからファイルから単語がgetResources().openRawResource(R.raw.song);
を使用して、生のフォルダからデータを読み込み、次のアプローチ
てみてください取得するために次に入力ストリームを取得しますバイト配列 のデータは、スペースでデータを分割します。
は、次のコードに
InputStream is =getResources().openRawResource(R.raw.song);
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while ((current = bis.read()) != -1) {
baf.append((byte) current);
}
byte[] myData = baf.toByteArray();
String dataInString = new String(myData);
String[] words = dataInString.split(" ");
おかげ ディーパック
を-1バイトでバイトを読み取るために...私は、このパターンを見てきました: '((現在=ビスしばらくあなたが投稿した(あなたではない)投稿した人は、最初に撃つべきです – Selvin
最も単純なScannerを使用することですを使用します。
Scanner s = new Scanner(getResources().openRawResource(R.raw.text_file));
try {
while (s.hasNext()) {
String word = s.next();
// ....
}
} finally {
s.close();
}
デフォルトの区切り文字は空白(スペースを含む)です。あなたがそれを作成した後にs.useDelimiter(" ");
を使用してスペース上でのみトリガーしたい場合。
このコードを、ほんの少しの単語しかないテキストファイルで使用すると、ちょうどうまくいきます良い。しかし、約100,000語のファイルを使用すると、エミュレータは応答を停止します。どうして...と思うのですか? –
さて、このソリューションでは、 'Scanner'が' next() 'への呼び出しごとに新しい文字列を作成し、それが高価になる可能性があります。しかし、それは本当に**別の問題であり、新しい質問で尋ねられるべきです**(* 'split(..)'メソッドは新しい文字列を作成しないので大きなファイルを持っていれば@Sunil Kumar Sahooソリューションを使用します。基になる文字列を再利用*)。 – dacwe
私はこの同じ質問をしましたが、上記の回答は間違いなく正しいですが、正常に動作するようにはできませんでした。私は、なぜ正確にはわからない
// this is just the click handler for a button...
public void loadStatesHandler(View v) {
try {
String states = getStringFromRaw(this);
readOutput.setText(states);
}
catch(Throwable t) {
t.printStackTrace();
}
}
private String getStringFromRaw(Context c) throws IOException {
Resources r = c.getResources();
InputStream is = r.openRawResource(R.raw.states);
String statesText = convertStreamToString(is);
is.close();
return statesText;
}
private String convertStreamToString(InputStream is) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int i = is.read();
while (i != -1) {
baos.write(i);
i = is.read();
}
return baos.toString();
}
: これはほぼ確実に私の一部にオペレータのエラーと無知だった - しかし、念のために、誰かが私どのように見たい - - N00Bは最終的にそれをやった、ここに私のソリューションです。これは私にとってはうまくいきませんでした。なぜなら、基本的に違って見えないからです。
私はこの方法の効率(またはその欠如!)についての意見を聞いても大好きです。Sunil Kumar Sahooが提案したものと比較して... –
//put your text file to raw folder, raw folder must be in resource folder.
private TextView tv;
private Button btn;
btn = (Button)findViewById(R.id.btn_json);
tv = (TextView)findViewById(R.id.tv_text);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SimpleText();
}
});
private void SimpleText(){
try {
InputStream is = this.getResources().openRawResource(R.raw.simpletext);
byte[] buffer = new byte[is.available()];
while (is.read(buffer) != -1);
String jsontext = new String(buffer);
tv.setText(jsontext);
} catch (Exception e) {
Log.e(TAG, ""+e.toString());
}
}
- 1. リモートサーバーのテキストファイルを読む際にAndroidエラーが発生する
- 2. Android App、resからテキストファイルを読む
- 3. urlからテキストファイルを読むandroid
- 4. テキストファイルを読む
- 5. 生のテキストファイルとストリップの句読点を同時に読む
- 6. 読むテキストファイルは
- 7. 読むテキストファイル
- 8. テキストファイルを読むR
- 9. Perlテキストファイルを読む
- 10. Cテキストファイルを読む
- 11. iOSのテキストファイルを読む
- 12. Dのテキストファイルを読む
- 13. Javascriptオフラインのテキストファイルを読む
- 14. 読むテキストファイルとテキストファイルのアクセス要素
- 15. 読むテキストファイルのステップバイステップの
- 16. Android Java(API17)のテキストファイルの最初の行を読む
- 17. コマンドプロンプトからテキストファイルを読む
- 18. テキストファイルから行を読む
- 19. Objective Cでテキストファイルを読む
- 20. 入力テキストファイルを読む
- 21. PHPログパーサー(テキストファイルを読む)
- 22. HTMLでテキストファイルを読む
- 23. C++でテキストファイルを読む
- 24. テキストファイルを読むには?
- 25. テキストファイルを読むPython Numpy
- 26. Androidのユーザー選択でテキストファイルを動的に読む
- 27. 読むテキストファイルや辞書
- 28. 読む固定幅テキストファイル
- 29. Android Studioクラスで読み込むテキストファイルを置く場所
- 30. Androidで大きなテキストファイルを読むには?
私はここに最善の解決策が見つかりました:http://stackoverflow.com/a/5675934/336990 – CoDe