字符流和字节流

时间:2021-01-23 21:01:18
day18;
/*字符流和字节流
 * 
 * 字节流的两个基类
 * InputStream OutputStream
 * 
 * 字节流两个基类 基类又叫父类
 * Reader Writer
 * 
 * 先学习字符流的特点 
 * 
 * 
 * 既然IO是用于操作数据的
 * 那么数据的最常见体现形式是文件,
 * 
 * 那么先以操作文件为主来演示
 * 
 * 需求: 在硬盘上,创建一个文件并写入一些数据
 * 
 * 找到一个专门用于操作文件的Writer子类对象。FileWriter。
 * 后缀名是父类名,前缀名是该流对象的的功能
 * 
 * */
import java.io.*;
public class FileWriterDemo {


/**
* @param args
* @throws IOException 
*/
public static void main(String[] args) throws IOException {
//创建一个FileWriter对象。该对象一被初始化就必须要明确被操作的文件。
//而且该文件会被创建到指定目录下。如果该目录下已有同名文件,将被覆盖。
//其实该步就是在明确数据要存放的目的地
FileWriter fw = new FileWriter("demo.txt");

//调用write方法,将字符串写入到流中。
fw.write("abcd");

//刷新对象中的缓冲的数据。
//将数据刷到目的地中
//fw.flush();

//关闭流资源,但是关闭之前会刷新一次内部的缓冲中的数据
//将数据刷到目的地中
//和flush区别:flush刷新后,刘可以继续使用,close刷新后,流将会关闭

fw.close();
}


}


package day18;
import java.io.FileWriter;
import java.io.IOException;


/*
 *IO异常处理的方式
 * 
 * */
public class FileWriterDemo2 {


/**
* @param args
*/
public static void main(String[] args) {
FileWriter fw = null;
try{
fw = new FileWriter("demo.txt");
fw.write("abcdefg");
}
catch (IOException e) {
System.out.println("catch:"+ e.toString());
}
finally
{


try {
if(fw!=null);
fw.close();
} catch (IOException e) {
System.out.println("c"+ e.toString());
}

}


}


}


package day18;
import java.io.FileWriter;
import java.io.IOException;


/*
 *IO异常处理的方式
 * 
 * */
public class FileWriterDemo2 {


/**
* @param args
*/
public static void main(String[] args) {
FileWriter fw = null;
try{
fw = new FileWriter("demo.txt");
fw.write("abcdefg");
}
catch (IOException e) {
System.out.println("catch:"+ e.toString());
}
finally
{


try {
if(fw!=null);
fw.close();
} catch (IOException e) {
System.out.println("c"+ e.toString());
}

}


}


}