Java创建文件的常用方法

时间:2021-08-06 17:14:30

Java创建文件有几种常用的方法

File.createNewFile()创建空白文件

java.io.File类里的方法createNewFile()可以用来创建文件。createNewFile()新建的是空文件。

创建文件首先要使用File类构建将要被创建的文件,然后再调用createNewFile()把新文件创建出来。

createNewFile()的结果分为三种情况:

  1. 新文件创建成功返回true。
  2. 如果文件已经存在返回false。
  3. 如果是由于权限等原因导致不能创建文件,抛出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"));

注意:如果文件存在,会覆盖原文件