是否有一种方法允许在Android 2.1中创建一个新文件,如果相对目录不存在,也可以创建它们? 让我知道,因为这个代码段不起作用:
static String separator = File.separator;
public static final String DIRECTORYBIGLIETTI = "C:" + separator + "Users" + separator + "7-Spode" + separator + "Documents" + separator + "Android" + separator + "HUVWSZE"; ///sdcard/.SpodeApps/HUVWSZE/
public static final String FILEBIGLIETTI = DIRECTORYBIGLIETTI.concat(separator + "lista.txt");
File cartellainputoutput = new File(DIRECTORYBIGLIETTI);
if(!cartellainputoutput.exists())
{
cartellainputoutput.mkdirs();
}
File fileinputoutput = new File(FILEBIGLIETTI);
if(!fileinputoutput.exists())
try {
fileinputoutput.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我可以要求管理员升级这个网站的图形吗? ;)
答案 0 :(得分:2)
您需要使用mkdirs()
创建目录,然后创建文件。
答案 1 :(得分:1)
为了清楚说明,你不能在Android中使用类似Windows的文件路径(例如C:\Users\7-Spode\Documents\Android\HUVWSZE
),你必须使用类似Linux的文件路径(如/data/my.android.application/data_directory/file
或{{1} }。
此外,您应该使用getFilesDir()
(用于内部存储)和getExternalStorageDirectory()
(用于外部存储,例如SD卡)等方法来获取这些目录,然后您可以创建常规/sdcard/directory/file
对象并从那里处理它。
示例(带内部存储):
File
另请注意,使用外部存储时,应始终检查外部存储是否不可用(例如,如果SD卡已被移除,或设备已连接
到计算机),使用getExternalStorageState()
。
有关如何在Android中使用内部和外部存储的详细信息,请阅读this nifty article。