java的文件IO编程知识总结
1、File类IO包中唯一代表磁盘文件本身的对象。定义了一系列与平台无关的方法来操作文件。能够完成创建,删除,重命名文件,判断文件的读写权限及文件是否存在,设置和查询文件的最近修改时间等。
File luo=new File(C:\\Users\\Administrator\\workspace\\test.txt);
2、RandomAccessFile类支持“随机访问”文件。访问文件不希望从头到尾的读取,希望像数据库一样访问一个文本文件。这是最好的选择。(写入,读出,移动读写指针,跳过指定个数位数等)
访问仅限于文件,不可以操作其他IO设备,如网络,内纯映像等。
3、流类建立在四个抽象类之上。InputStream,OutputStream,Reader,Writer。
一般都是通过File类的对象去初始化。
InputStream,OutputStream被设计为字节流类。(字节或者二进制对象)
Reader,Writer被设计为字符流类。(处理字符或者字符串)
字节流具体子类:FileInputStream文件输入流 FileOutputStream文件输出流
字符数据要先使用string.getBytes()转化为字节数据才可以进行读取和写入。
字符流具体子类:FileReader文件输入流 FileWriter文件输出流
可以直接实现对字符的读取和写入。
4、管道流
管道流主要用于两个线程间的通信,也分为字节流(PipeInputStream和PipeOutputStream)与字符流(PipeReader和PipeWriter)两种。
两个对象必须进行连接而产生一个通信管道。一个写一个读,实现两个线程之间的通信。
PipeInputStreamin=new PipeInputStream;
PipeOutputStreamout=new PipeOutputStream();
Out.connect(in); //将两个管道进行连接。
后面就可以实现读写了。
5、ByteArrayInputStream和ByteArrayOutputStream对字节数组进行处理。
字符串要先转化为字节数组。Byte[] src=”abcdefghijk”.getBytes();
6、system.in和system.out分别为InputStream,OutputStream的子类的流对象,属于字节流。显示屏和键盘。
7、打印流