0

基本的に、私は2つの質問があります。以下のコードを使用して、z テキスト ファイルを読み書きしています。

    File myFile = new File("/sdcard/mysdfile.txt");
    myFile.createNewFile();
    FileOutputStream fOut = new FileOutputStream(myFile);
    OutputStreamWriter myOutWriter = 
                            new OutputStreamWriter(fOut);
    myOutWriter.append("my text here");
    myOutWriter.close();

これは、これをOPEN_OR_CREATEにするたびに新しいファイルを作成します(ファイルが既に存在する場合は、新しいファイルを作成しないでください)

2 番目の質問は、パス「/sdcard/mysdfile.txt」を変更する方法です。このファイルを自分の sdcard -> subFolder1 -> SubFolder2 に保存します。

タナクス

4

6 に答える 6

0

Java 7では、次のように実行できます。

Path path = Paths.get("/sdcard/mysdfile.txt");
BufferedWriter wrt = Files.newBufferedWriter(path, StandardCharsets.UTF_8, StandardOpenOption.APPEND);
于 2012-11-21T11:13:16.720 に答える
0

交換

FileOutputStream fOut = new FileOutputStream(myFile);

FileOutputStream fOut = new FileOutputStream(myFile, true); //true means append mode.

それとは別に、あなたに 1 つの提案があります。

コードにハードコードすることは絶対にしないでください/sdcard。むしろ、書くことを検討してください。

File myFile = new File(Environment.getExternalStorageDirectory(),"mysdfile.txt");
于 2012-11-21T11:00:15.107 に答える
0

テキストファイルの最後に書き込む私の解決策を試してください

private void writeFile (String str){
      try {
          File f = new File(Environment.getExternalStorageDirectory().toString(),"tasklist.txt");
          FileWriter fw = new FileWriter(f, true);

          fw.write(str+"\n");
          fw.flush();
          fw.close();
      } catch (Exception e) {
      }
}

*File(Environment.getExternalStorageDirectory().toString()+"your/pth/here","tasklist.txt");

于 2012-11-21T11:01:20.900 に答える
0

1> OPEN_OR_CREATE @Vipulの提案のように、MODE_APPENDをtrueに置き換えるか、置き換えることができます

FileOutputStream fOut = openFileOutput(your_path_file, MODE_APPEND);

//it means if the file is exist the content you want write will append into it.

2> SDカードに保存 -> subFolder1 -> SubFolder2

Environment.getExternalStorageDirectory().getAbsolutePath() を使用して、SDCard の完全なファイル パスを取得できます。次に、文字列を連結して、必要なファイル パスを取得します。元:

String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath();
String fileName = "myFile.txt";

File f = new File(baseDir + File.separator  + subfolder1 + File.separator +  subfoler2, fileName);
于 2012-11-21T11:07:34.410 に答える