-2

インターネット全体を検索しても、動作するコードが見つかりませんでした。txt ドキュメントのコンテンツを取得して返すにはどうすればよいですか。

( src/my.proovi.namespace/data.txt ) に txt ファイルがあるとします。そして、refresh_all_data(); というメソッドを作成しました。データを収集して返す場所。メイン アクティビティ メソッドでは、コンテンツを ( String content = refresh_all_data(); ) として取得する必要があります。

簡単なはずですが、有効な答えが見つかりません。どうもありがとうございました。

4

3 に答える 3

1

プロジェクトのフォルダにファイルを配置すると、 :を介してファイルを開くことで/assets取得できます。InputStreamAssetManager

InputStream in = getAssets().open("data.txt");

次に、ファイルから行を読み取り、 :StringBuilderを使用してそれらをに追加できます。Reader

//The buffered reader has a method readLine() that reads an entire line from the file, InputStreamReader is a reader that reads from a stream.
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
//This is the StringBuilder that we will add the lines to:
StringBuilder sb = new StringBuilder(512);
String line;
//While we can read a line, append it to the StringBuilder:
while((line = reader.readLine()) != null){
    sb.append(line);
}
//Close the stream:
reader.close();
//and return the result:
return sb.toString();
于 2012-06-26T11:30:49.350 に答える
0

以下のコードを 1 つの関数に実装し、必要な場所で呼び出します。

try{
      // Open the file that is the first 
      // command line parameter
      FileInputStream fstream = new FileInputStream("textfile.txt");
      // Get the object of DataInputStream
      DataInputStream in = new DataInputStream(fstream);
      BufferedReader br = new BufferedReader(new InputStreamReader(in));
      String strLine;
      //Read File Line By Line
      while ((strLine = br.readLine()) != null)   {
      // Print the content on the console
      System.out.println (strLine);
      }
      //Close the input stream
      in.close();
        }catch (Exception e){//Catch exception if any
      System.err.println("Error: " + e.getMessage());
      }
于 2012-06-26T11:21:43.630 に答える
0

わかりましたので、私が得たもの。

 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    String test = null;
    try {
        test = refresh_all_data();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    TextView day1Label = new TextView(this);  
    day1Label.setText(test);
    setContentView(day1Label);

}

そして refresh_all_data(); 方法。

private String refresh_all_data() throws IOException
{ 

    InputStream in = getAssets().open("data.txt");
    //The buffered reader has a method readLine() that reads an entire line from the file, InputStreamReader is a reader that reads from a stream.
    BufferedReader reader = new BufferedReader(new InputStreamReader(in));
    //This is the StringBuilder that we will add the lines to:
    StringBuilder sb = new StringBuilder(512);
    String line;
    //While we can read a line, append it to the StringBuilder:
    while((line = reader.readLine()) != null){
        sb.append(line);
    }
    //Close the stream:
    reader.close();
    //and return the result:
    return sb.toString();
}

ジェイブに感謝します。

于 2012-06-26T20:17:29.590 に答える