文件在.txt文件中创建和编写内容

时间:2012-07-26 09:35:31

标签: android

我正在使用getFilesDir()+文件名创建一个文件,我得到的是filesfileName.txt,你能告诉我为什么我得到这个文件名而不是fileName.txt ..感谢您的关注。


File file = new File(mContext.getFilesDir() + fileName+ ".txt");
            if (!file.exists()) {

                file.createNewFile();
                FileWriter f;
                try {

                    f = new FileWriter(mContext.getFilesDir() + fileName
                            + ".txt");
                    f.write(fbFriendList);
                    f.flush();
                    f.close();
                } catch (IOException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
            }

4 个答案:

答案 0 :(得分:1)

最好使用Path.Combine创建FullPath-Strings:

File file = new File(Path.Combine(mContext.getFilesDir(), fileName+ ".txt"));

答案 1 :(得分:1)

您应该使用重载的构造函数来代替使用+来连接文件路径,这将为您添加路径分隔符/。您也可以将File作为参数传递给Filewriter构造函数,而不是重复使用字符串:

File file = new File(mContext.getFilesDir(), fileName+ ".txt");

FileWriter f;

try {
    f = new FileWriter(file);
    f.write(fbFriendList);
    f.flush();
    f.close();
} catch (IOException e1) {
    e1.printStackTrace();
}

有关详细信息,请参阅FileFileWriter

的官方API文档

答案 2 :(得分:0)

您必须添加"/"

File file = new File(mContext.getFilesDir() + "/" + fileName+ ".txt");

我建议使用openFileOutput(String name, int mode)方法 - 创建私有文件并将其写入内部存储。

Writer out
   = new BufferedWriter(
           new OutputStreamWriter(openFileOutput(FILENAME, Context.MODE_PRIVATE)));

答案 3 :(得分:0)

这样做

File file = new File(podcastFolder + File.separator + fileName + ".txt");