JavaIO大纲
Writer
抽象类
- 源码摘抄:
public abstract class Writer
- 共性方法:
-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
子类
- 创建对象:
-FileWriter(File file) -FileWriter(String fileName) -FileWriter(File file,boolean append) -FileWriter(String fileName,boolean append)
BufferedWriter
子类
- 创建对象
-BufferedWriter(Writer out)
测试:
//这个类用来测试 字符流写出
//总结:
//效率上讲:BufferedWriter > FileWriter,原因是底层为了一个缓冲数组,把数组填满了之后一把写出到磁盘中
//好处就是减少了程序和磁盘的交互次数,提高程序的执行效率
public class Test4_Writer {
public static void main(String[] args) {
method();//普通的字符流写出对象FileWriter
method2();//高效的字符流写出对象BufferedWriter
}
private static void method2() {
try {
//1,创建对象
// Writer out = new BufferedWriter(new FileWriter("D:\\iotest\\1.txt"));//覆盖数据
Writer out = new BufferedWriter(new FileWriter("D:\\iotest\\1.txt",true));//true追加数据
//2,写出数据
out.write(48);
out.write("hello io~");
//3,释放资源
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private static void method() {
try {
//1,创建对象
// Writer out =new FileWriter("D:\\iotest\\1.txt");//默认数据会被覆盖
Writer out =new FileWriter("D:\\iotest\\1.txt",true);//追加数据
//2,写出数据
out.write(90);
out.write("hello");
out.write("java");
//3,释放资源
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}