IO(Input Output)流
1、IO流对数据的操作是通过流的方式
2、Java对数据的操作是通过流的方式
3、Java用于操作流的对象都在IO包中
4、流按操作分为两种:字节流和字符流
1、IO流对数据的操作是通过流的方式
2、Java对数据的操作是通过流的方式
3、Java用于操作流的对象都在IO包中
4、流按操作分为两种:字节流和字符流
5、流按流向分为:输入流和输出流
字符流和字节流:
字节流两个基类:InputStream、OutputStream
字符流两个基类:Reader、Writer
字符流特点:
既然IO流是用于操作数据的,那么数据的最常见体现形式是:文件
需求在硬盘上,创建一个文件并写入一些文字数据
代码:
import java.io.*;
public class code
{
public static void main(String[] args) throws IOException {
//创建一个FileWriter对象,该对象一被初始化就必须要明确被操作的文件
//而且该文件会被创建到指定目录下,如果该目录下已有同名文件,将被覆盖
//明确数据要存放的目的地
FileWriter fw = new FileWriter("demo.txt");
//调用write方法,将字符串写入到流中
fw.write("abc");
//刷新刘对象缓冲中的数据,将数据刷到目的地中
fw.flush();
//关闭流资源,但是关闭之前会刷新一次内部缓冲中的数据,将数据刷到目的地中
//和flush区别:flush刷新后,流可以继续使用,close刷新后,会将流关闭
fw.close();
}
}
IO异常的处理方式 代码:
import java.io.*;
public class code
{
public static void main(String[] args) {
FileWriter fw = null;//调用设备的功能,会发生IO异常
try {
fw = new FileWriter("demo.txt");
fw.write("asdfg");
} catch (IOException e) {
System.out.println(e.toString());
}
finally {
try {
if(fw!=null)//必须要判断,分别关闭
fw.close();
} catch (IOException e) {
System.out.println(e.toString());
}
}
}
}