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

试试这个,

如果您的目标是文件,为什么要使用“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 回答
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”是一个包含文件路径的字符串,例如:File =“/sdcard/parentPath/FileName.txt”和“message”显然是您要输入文件的消息。(考虑到文件包含txt内容)

于 2012-06-29T11:46:25.943 回答