我正在制作一个Android应用程序,在按下按钮时会创建一个新文件。我正在使用以下代码:
File file = new File(Environment.getExternalStorageDirectory()
+File.separator
+"myDirectory" //folder name
+File.separator
+"myFile.png"); //file name
file.mkdirs();
但是,myFile.png
实际上显示为目录而不是.png文件。
答案 0 :(得分:5)
由于file.mkdirs();
mkdirs() - 用于根据文件对象的参数创建目录,如果要创建文件进行IO操作以便在文件中写入,< / p>
在你的情况下:制作一个目录,
File file = new File(Environment.getExternalStorageDirectory()
+File.separator
+"myDirectory" //folder name
+File.separator
+"myFile.png"); //file name
file.getParentFile().mkdirs();
这会在外部存储空间中创建一个myDirectory文件夹。
答案 1 :(得分:2)
根据its documentation File.mkdirs()
“创建由此文件的尾随文件名命名的目录”。
换句话说:您明确地创建一个名为myFile.png
的目录。如果那个不是你想要什么,那么可能想要做file.getParentFile().mkdirs()
。
答案 2 :(得分:1)
file.mkdirs()
上面的代码将创建新目录。
创建文件
try{
File file = new File(Environment.getExternalStorageDirectory()
+File.separator
+"myDirectory" //folder name
+File.separator
+"myFile.png"); //file name
myFile.createNewFile();
OutputStream filoutputStream = new FileOutputStream(myFile);
filoutputStream.write(b);
filoutputStream.flush();
filoutputStream.close();
} catch (IOException e) {
// handler exception
}