Java创建文件有几种常用的方法
File.createNewFile()创建空白文件
java.io.File类里的方法createNewFile()可以用来创建文件。createNewFile()新建的是空文件。
创建文件首先要使用File类构建将要被创建的文件,然后再调用createNewFile()把新文件创建出来。
createNewFile()的结果分为三种情况:
- 新文件创建成功返回true。
- 如果文件已经存在返回false。
- 如果是由于权限等原因导致不能创建文件,抛出java.io.IOException。
示例
使用绝对路径创建文件
String fileSeparator = File.separator;
String absoluteFilePath = fileSeparator+"Users"+fileSeparator+"test"+fileSeparator+"test.txt";
File file = new File(absoluteFilePath);
try {
if(file.createNewFile()){
System.out.println(absoluteFilePath+"文件创建成功);
}else {
System.out.println(absoluteFilePath+"文件已存在");
}
} catch (IOException e) {
e.printStackTrace();
}
使用相对路径创建文件
file = new File("file.txt");
try {
if(file.createNewFile()){
System.out.println(absoluteFilePath+"文件创建成功);
}else {
System.out.println(absoluteFilePath+"文件已存在");
}
} catch (IOException e) {
e.printStackTrace();
}
如果在命令行执行新建文件,相对路径是会相对命令执行的当前目录。
PrintWriter创建文本文件
PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8");
writer.println("第一行内容");
writer.println("第二行内容");
writer.close();
注意:如果文件存在,会覆盖原文件
FileOutputStream.write(byte[] b) 创建二进制文件
String fileData = "Hello,World!";
FileOutputStream fos = new FileOutputStream("name.txt");
fos.write(fileData.getBytes());
fos.flush();
fos.close();
注意:如果文件存在,会覆盖原文件
Java NIO Files.write()(Java7+ )
Java 7新增了Files,我们可以用它来创建文件,并向文件添加内容
List<String> lines = Arrays.asList("第一行内容", "第二行内容");
Path file = Paths.get("file.txt");
Files.write(file, lines, Charset.forName("UTF-8"));
注意:如果文件存在,会覆盖原文件