FileWriter
通过字符的方式写文件,仅适合字符文件
FileWriter是Writer的实现类,所以我们只需要学习Reader的方法就能正确使用FileWriter类了
继承关系
Writer的成员方法
Modifier and Type | Description |
---|---|
Writer append(char c) | 将指定的字符到这个作家。 |
Writer append(CharSequence csq) | 将指定的字符序列,这个作家。 |
Writer append(CharSequence csq, int start, int end) | 添加一个序列指定的字符序列,这个作家。 |
abstract void close() | 关闭流,冲洗它。 |
abstract void flush() | 冲流。 |
void write(char[] cbuf) | 写一个字符数组。 |
abstract void write(char[] cbuf, int off, int len) | 写入一个字符数组的一部分。 |
void write(int c) | 写一个字符。 |
void write(String str) | 写一个字符串。 |
void write(String str, int off, int len) | 写入字符串的一部分。 |
FileWriter构造方法
Modifier and Type | Description |
---|---|
Constructor and Description FileWriter(File file) | 构建了一个文件对象FileWriter对象。 |
FileWriter(File file, boolean append) | 构建了一个文件对象FileWriter对象。 |
FileWriter(FileDescriptor fd) | 构建了一个文件描述符关联的FileWriter对象。 |
FileWriter(String fileName) | 构造给定文件名的FileWriter对象。 |
FileWriter(String fileName, boolean append) | 构造FileWriter对象给出一个文件名与一个布尔值,指示是否附加写入的数据。 |
以下代码是借助FileWriter字符流类从FileReader字符流 的测试所读取的testFileReader.txt文件中读取写如新建的空白testFileWriter.txt文件中
package cn.yzy.io;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
public class testFileWriter {
public static void main(String[] args) {
//创建源
File srcFile = new File("testFileWriter.txt");
//选择流
Writer writer = null;
try {
writer = new FileWriter(srcFile);
/*
* (1)
String str = "My baby my treasure i swear my forever\n"
+ "希望是火,失望是烟,生活就是一边点火,一边冒烟。晚安";
char[] datas = str.toCharArray();
writer.write(datas, 0, datas.length);
*/
/*
* (2)
String str = "My baby my treasure i swear my forever\n"
+ "希望是火,失望是烟,生活就是一边点火,一边冒烟。晚安";
writer.write(str);
*/
//(3)
writer.append("My baby my treasure i swear my forever\n").
append("希望是火,失望是烟,生活就是一边点火,一边冒烟。晚安");
writer.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
if(null != writer) //创建流可能失败所以判断一下
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}