//这个文件对于io流里面的东西进行一个辨析
//io:input和output的缩写,链接程序和数据源头的广告
//最基础的四种"抽象基类",按照输入输出字节字符来进行分类========
// 输入流 输出流
//字符流 Reader Write(不是字符串!!)
// 注字符流只能操作文本文件.非文本文件需要字节流
//字节流 InputStream OutputStream
//另一种分类方法按功能分=============
//节点流:单独执行任务
//处理流:多重组合完成任务
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class io_mmm {
public static void main(String[] args) throws IOException {
//第一步先是输入操作================================
//先确定数据源头,创建对应的文件对象
File f=new File("D:"+File.separator+"data.txt");
//搭建输入管道:文件字符输入流
FileReader fr=new FileReader(f);
// int a=fr.read();
//这里的输入结果,字符流只能读到一个字符,而且返回的是对应的ask码
//输入123-----读到了1-----输出49
//如果读到了文件结尾,则会返回-1
// System.out.println((char) a);
//利用结尾到达-1的特性,可以循环输出一下这些东西
/*while(a!=-1){
System.out.print((char) a);
a=fr.read();
}*/
//这样的方法是一次读取一个
//一次读取多个
char[] arr=new char[5];// 相当于一个模板,一次读取五个
//一次读取多个,塞进这个字符数组,同时获得有效长度
//注解:有效长度见下方
int len=fr.read(arr);// 返回值为有效长度
while(len!=-1){
for(int i=0;i<len;i++){
System.out.print(arr[i]);
}
len = fr.read(arr);
}
//最后需要手动关闭流
fr.close();
//下面是输出操作======================================
}
}
关于io流读入目前接触到的只有两种方法
逐个读取和缓冲数组读取.后面会详细处理一下的
对于流的认识
输入和输出流在Java中仍然是作为对象出现的
起到在源文件,程序,目标文件之间传递数据的作用