1.FileWriter类
构造方法
public FileWriter(File file);
public FileWriter(File file, boolean append); // 当append设置为true,表示追加模式
常用API
// 常规模式写入
public void write(String str);
public void write(String str, int offset, int len); // 从str中下标为offset的字符开始,截取长度为len的字符串并写入
// builder模式写入
public Writer append(String str);
public Writer append(String str, int offset, int len);
// 关闭流
public void close();
需要注意,write( ) 和 append( ) 除了返回值不同以外,没有任何区别:
- 是否开启追加模式,只与构造FileWriter对象时的第二个参数有关,与使用的方法无关;
- 在未开启追加模式时,不论是write( )还是append( ),首次使用都会将原先的内容清空;
- 只要FileWriter对象没有关闭,连续使用write( )或append( ),除首次使用外,效果都将是追加内容。
2.使用示例:创建文件并写入内容
package com.xyx_eshang.jdkapidemo.demos;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
/**
* @author xyx-Eshang
*/
@SuppressWarnings("all")
public class FileWriterDemo {
/**
* 创建文件并写入内容
* @param fileName
* @throws IOException
*/
public static void testFileWriter(String fileName) throws IOException {
// 创建文件夹
String dirPath = System.getProperty("user.dir") + File.separator + "src" + File.separator + "main" + File.separator + "java" + File.separator + "com" + File.separator + "xyx_eshang" + File.separator + "jdkapidemo" + File.separator + "files";
new File(dirPath).mkdirs();
// 创建文件
String filePath = dirPath + File.separator + fileName;
File file = new File(filePath);
System.out.println(file.createNewFile() ? "成功创建文件!" : "文件已存在!");
// 写入文件
FileWriter fw = new FileWriter(file);
String content = "HELLO WORLD";
fw.write(content);
System.out.println("成功写入内容");
fw.close();
}
public static void main(String[] args){
try {
testFileWriter("file.txt");
}catch (Exception e){
e.printStackTrace();
}
}
}