1

.txt ファイルは SD カードに保存する必要があります。

Save("n" + String.valueOf(key) + ".txt");

 private void Save(String FileName){
         File fileName = null;
         String sdState = android.os.Environment.getExternalStorageState();

         if (sdState.equals(android.os.Environment.MEDIA_MOUNTED)) {
             File sdDir = android.os.Environment.getExternalStorageDirectory();
             fileName = new File(sdDir, "FlyNote/"+FileName);
             } else {
                 fileName = context.getCacheDir();
             }
         if (!fileName.exists())
             fileName.mkdirs();
         try {
             FileWriter f = new FileWriter(fileName);
             f.write(editText2.getText().toString());
             f.flush();
             f.close();
         } catch (Exception e) {

         }
     }

ただし、SD カード内のファイルはフォルダーとして保存されます。フォルダ「n5.txt」他…

4

4 に答える 4

2

使用する

File  dir= new File(sdDir.getAbsolutePath(), "FlyNote");
dir.mkdirs(); //CREATE DIR HERE
File  file = new File(dir, FileName);//CREATE FILE HERE

それ以外の

fileName = new File(sdDir, "FlyNote/"+FileName);
于 2012-06-29T07:10:36.853 に答える
0

存在をテストするときは、存在するかどうかを検索し、Flynote/Filename存在しない場合は、を使用して作成しますmkdirs

fileName.mkdirs()そのファイルの名前でディレクトリを作成します。したがって、エラーが見つかります。あなたmkdirsはのためだけであるべきであり、そうではFlynoteありませんFlynote/+FileName

于 2012-06-29T07:14:03.587 に答える
0

ここに記載されている方法のほとんどは優れています...次のコードを使用することもできます。

    public static void addToFile(String file,String message){

    try {
        FileOutputStream fos = new FileOutputStream(file,true);
        fos.write(("\n"+message).getBytes());
        fos.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

ここで、"File" はファイルへのパスを含む文字列です。(ファイルにtxtの内容が含まれていることを考慮して)

于 2012-06-29T11:46:25.943 に答える
0

これを試して、

ファイルを目指しているのなら、ファイルではなくディレクトリを作成する「mkdir」を使用するのはなぜですか。

このコードは、ファイルを作成するためのものです。

File f = new File("/sdcard/n5.txt");
FileWriter fw = new FileWriter(f);
BufferedWriter bw = new BufferdWriter(fw);
bw.write("Hello");

フォルダが存在するかどうかを確認するには...

File f = new File("/sdcard/myfolder");
if (f.exists()){

   // do what u want

   }
else{
       // doesnt exists
      }
于 2012-06-29T07:14:45.630 に答える