Write
字符输入流write(int c) 写入单个字符
write(char[] c) 写入字符数组
write(char[],int off,int len) 写入字符数组的一部分
write(String str) 写入字符串
write(String str,int off,int len) 写入字符串的一部分
flush() 刷新该流的缓冲
close() 关闭此流
FileWriter
文件字符输入流FileWriter(String name) 写入数据的目的地是一个文件的路径
FileWriter(File file) 写入数据的目的地是一个文件
FileWriter
对象,构造方法中填写写入数据的目的地FileWriter file = new FileWriter("G:\\Java\\测试文件夹2\\b.txt");
write
方法,把数据写入到内存缓冲区(字符转换为字节的过程)file.write(98);
flush
方法,将内存缓冲区中的数据,刷新到文件中(可以不用写,close会自动刷新)file.flush();
file.close();
import java.io.FileWriter;
import java.io.IOException;
public class Writer {
public static void main(String[] args) throws IOException {
FileWriter file = new FileWriter("G:\\Java\\测试文件夹2\\b.txt");
char[] chars = {'a', 'b', 'v', '你', '好'};
file.write(chars);
file.flush();
file.write(chars, 3, 2);
file.flush();
file.close();
}
}
import java.io.FileWriter;
import java.io.IOException;
public class Demo02 {
public static void main(String[] args) throws IOException {
FileWriter fileWriter = new FileWriter("G:\\Java\\测试文件夹2\\c.txt");
fileWriter.write("你好,再见!");
fileWriter.flush();
fileWriter.write("123asd123",3,3);
fileWriter.flush();
fileWriter.close();
}
}
续写和换行
续写
构造方法中:
FileWriter(String name,boolean append) 写入数据的目的地是一个文件的路径,append为true则不会覆盖原文件,继续在原文件中续写,append为false则覆盖原文件
FileWiter(File file,boolean append) 写入数据的目的地是一个文件,append为true则不会覆盖原文件,继续在原文件中续写,append为false则覆盖原文件
windows:\r\n
Linux:/n
Mac:/r
Reader
字符输入流int len = read(); 一次性读取一个字符
int len = read(char[] c); 一次性读取多个字符
close(); 释放资源
Reader
类为抽象类,无法直接使用,需要创造子类使用
FileReader
文件字符输入流FileReader file = new FileReader(String name);
FileReader file = new FileReader(File file);
FileReader
对象,构造方法中填写读取文件的数据源FileReader file = new FileReader("G:\\Java\\测试文件夹2\\a.txt");
read()
方法,读取文件int len = 0;
while ((len=fr.read())!=-1){
System.out.print((char)len);
}
fr.close();
package Reader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
public class Demo01 {
public static void main(String[] args) throws IOException {
FileReader fr= new FileReader("G:\\Java\\测试文件夹2\\qqq.txt");
int len = 0;
while ((len=fr.read())!=-1){
System.out.print((char)len);
}
fr.close();
}
}
int len = 0;
char[] chars = new char[1024];
while ((len=fr.read(chars))!=-1){
System.out.print(new String(chars,0,len));
}
package Reader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
public class Demo01 {
public static void main(String[] args) throws IOException {
FileReader fr= new FileReader("G:\\Java\\测试文件夹2\\qqq.txt");
int len = 0;
char[] chars = new char[1024];
while ((len=fr.read(chars))!=-1){
System.out.print(new String(chars,0,len));
}
fr.close();
}
}