我正在使用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();
}
}
答案 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();
}
有关详细信息,请参阅File和FileWriter
的官方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");