是Input与Output的简称 也叫输入与输出;其中Output是写,Input是读;2:IO流的体系:
IO技术就是用于处理设备上数据,用于设备间数据的传输;
两个抽象基类:字节输入流InputStream 读 字节输出流 OutputStream 写
两个抽象基类:字符输入流 Reader 字符输出流 Writer
由这四个体系派生出来的子类在名称定义上都有规律:是抽象基类就不可以new;
所有的子类后缀名都是体系父类名。而前缀名就是这个子类对象的功能。
字节流和字符流;
flush只是负责刷新,刷新完成后还可以继续使用,而且在程序中可以使用多次;7:异常的处理:
close()先刷新,然后将流关闭,close执行后流就关闭了,它在程序中只能用一次;
使用try() catch() finally()8:read(char[] );控制台打印出文件中的内容 (数组方式(方式一))
直接使用throws IOException(不建议使用,应该自己去处理异常,也就是使用try)
package cn.itcast.io.p1.charstream.read;
import java.io.FileReader;
import java.io.IOException;
public class FileReaderDemo2 {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("demo.txt");
/*
* 使用 带数组参数的read方法。 read(char[]): 将读取到的字符存储到指定的字符数组中。
*/
// 先定义一个字符数组。该数组的长度最好是1024的整数倍。
char[] buf = new char[1024];
// 调用读取方法,将字符存储到数组中。
int len = 0;
while((len=fr.read(buf))!=-1){
System.out.println(new String(buf,0,len)); 注意:缓冲区变成字符串用toString String s=sb.toString
}
fr.close();
}
}
package cn.itcast;}
import java.io.FileReader;
import java.io.IOException;
public class Demo15 {
public static void main(String[] args)throws IOException {
FileReader fr=new FileReader("test.txt");
int a=0;
while((a=fr.read())!=-1)
{
//System.out.println(a);//这打印的是对应的编码
System.out.println((char)a);//这个打印的是文件的内容 也就是原样输出
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |