IO流:
I :input 输入,从硬盘中读取内容 读
O:output 输出,把内容输出到硬盘里 写
对于文件内容的操作主要分为两大类
字符流 传输文本信息,本质还是字节流
有两个抽象类:Writer Reader
子类有FileWriter和FileReader可实现文件的读写操作
BufferedWriter和BufferedReader能够提供缓冲区功能,用以提高效率
字节流 传输任何数据
也有两个抽象类:InputStream OutputStream
子类有FileInputStream和FileOutputStream实现文件读写
BufferedInputStream和BufferedOutputStream提供缓冲区功能
例1:应用FileInputStream类,编写应用程序,从磁盘上读取一个Java程序,并将源程序代码显示在屏幕上。(被读取的文件路径为:E:/myjava/Hello.java)
import java.io.*;
public class FISDemo {
publicstatic void main(String[] args) {
byte [] buf= new byte[2056];//由于有时候文件太大,无法确定需要定义的数组大小,因此一般定义数组长度为1024,采用循环的方式读入
try{
//将数组转化为字符串打印,后面参数的意思是如果字符数组未满,转化成字符串打印后尾部也许会出现其他字符,因此,读取的字符有多少个,就转化多少为字符串
FileInputStream fileIn = newFileInputStream("d:\\java\\Hello.java");
int bytes =fileIn.read(buf, 0, 2056);
String str =new String(buf,0,bytes);
System.out.println(str);
}catch(Exception e){
e.printStackTrace();//加异常防止文件找不到程序不能运行
}
}
}