try (BufferedWriter writer =

Files.newBufferedWriter(path, StandardCharsets.UTF_8)) {

writer.write(“Hello World -创建文件!!”);

}

//追加写模式

try (BufferedWriter writer =

Files.newBufferedWriter(path,

StandardCharsets.UTF_8,

StandardOpenOption.APPEND)){

writer.write(“Hello World -字母哥!!”);

}

}

2. Files.write(Java7)

widnows java file 创建文件 java怎样创建文件_创建文件

这种方式是实现文本文件简单读写最方便快捷的方式。

@Test

void testCreateFile2() throws IOException {

String fileName = “D:\data\test\newFile2.txt”;

// 从JDK1.7开始提供的方法

// 使用Files.write创建一个文件并写入

Files.write(Paths.get(fileName),

“Hello World -创建文件!!”.getBytes(StandardCharsets.UTF_8));

// 追加写模式

Files.write(

Paths.get(fileName),

“Hello World -字母哥!!”.getBytes(StandardCharsets.UTF_8),

StandardOpenOption.APPEND);

}

3. PrintWriter

PrintWriter是一个比较古老的文件创建及写入方式,从JDK1.5就已经存在了,比较有特点的是:PrintWriter的println方法,可以实现一行一行的写文件。

@Test

void testCreateFile3() throws IOException {

String fileName = “D:\data\test\newFile3.txt”;

// JSD 1.5开始就已经存在的方法

try (PrintWriter writer = new PrintWriter(fileName, “UTF-8”)) {

writer.println(“Hello World -创建文件!!”);

writer.println(“Hello World -字母哥!!”);

}

// Java 10进行了改进,支持使用StandardCharsets指定字符集

/*try (PrintWriter writer = new PrintWriter(fileName, StandardCharsets.UTF_8)) {

writer.println(“first line!”);

writer.println(“second line!”);

} */

}

4.File.createNewFile()

createNewFile()方法的功能相对就比较纯粹,只是创建文件不做文件写入操作。 返回true表示文件成功,返回 false表示文件已经存在.可以配合FileWriter 来完成文件的写操作。

@Test

void testCreateFile4() throws IOException {

String fileName = “D:\data\test\newFile4.txt”;

File file = new File(fileName);

// 返回true表示文件成功

// false 表示文件已经存在

if (file.createNewFile()) {

System.out.println(“创建文件成功!”);

} else {

System.out.println(“文件已经存在不需要重复创建”);

}

// 使用FileWriter写文件