以下代码可以创建一个文件,并使用FileWriter向文件中写入内容,若路径不存在则自动创建路径,若文件已经存在,则不再创建
public void createFile() throws IOException {
String filePath = "D:/a/b";
File dir = new File(filePath);
// 一、检查放置文件的文件夹路径是否存在,不存在则创建
if (!dir.exists()) {
dir.mkdirs();// mkdirs创建多级目录
}
File checkFile = new File(filePath + "/filename.txt");
FileWriter writer = null;
try {
// 二、检查目标文件是否存在,不存在则创建
if (!checkFile.exists()) {
checkFile.createNewFile();// 创建目标文件
}
// 三、向目标文件中写入内容
// FileWriter(File file, boolean append),append为true时为追加模式,false或缺省则为覆盖模式
writer = new FileWriter(checkFile, true);
writer.append("your content");
writer.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (null != writer)
writer.close();
}
}
File对象的mkdirs()和mkdir()的区别
mkdir:只能创建一级目录,例如”D:/a”,如果给的路径是多级目录,例如”D:/a/b/c”,则不会创建成功,不会有任何目录被创建,比较局限,个人不推荐使用。
mkdirs:可以创建多级目录,例如”D:/a/b/c”,通常创建目录多使用此函数。