关于IO操作知识

什么是数据流----------数据流是指所有的数据通信通道在java中有关流的操作使用java.io.*出于安全的考虑,小应用不能实现文件I/O流标准输入输出----------System类管理标准输入输出流和错误流 System.out: 把输出送到缺省的显示(通常是显示器)System.in: 从标准输入获取输入(通常是键盘)System.err: 把错误信息送到缺省的显示System.in: 属于BufferedInputStream类型System.out: 属于PrintStream类型 (String)System.err: 属于PrintStream类型每当main方法被执行时,就自动生成上述三个对象输入流输出流基类--------------InputStream和OutputStream抽象类,不能直接使用InputStream类的方法:-----------------------read():从流中读入数据skip():跳过流中若干字节数available():返回流中可用字节数mark():在流中标记一个位置reset():返回标记过得位置markSupport():是否支持标记和复位操作close():关闭流
OutputStream类的方法:------------------------write(int b):将一个整数输出到流中write(byte b[]):将数组中的数据输出到流中write(byte b[], int off,int len):将数组b中从off指定的位置开始len长度的数据输出到流中flush():将缓冲区中的数据强制送出close():关闭流.PrintStream类-----------println()不属于OutputStream类,它是PrintStream类的子类,能提供复杂的输出PrintStream类的方法有: write, flush, checkError,print, println,close.其中println可以输出多种形式的数据.例如:println(String s), println(char c)等FILE IO-----1.文件对象的建立File fp=new File(“tempfile.txt”);对文件操作要定义文件流FileInputStream类用来打开一个输入文件FileOutputStream类用来打开一个输出文件2.文件流的建立FileInputStream in=new FileInputStream(fp);FileOutputStream out=new FileOutputStream(fp);3.增加缓冲区流,减少访问硬盘的次数,提高效率BufferedInputStream和BufferedOutputStream, 将它们与文件流相接FileInputStream in=new FileInputStream(“file1.txt”);BufferedInputStream bin= new BufferedInputStream(in,256); 只有缓冲区满时,才会将数据送到输出流.Java在输出数据流中,当对方尚未将数据取走时,程序就会被阻塞.有时要人为地将尚未填满的缓冲区中的数据送出,使用flush()方法数据输入输出流

------------DataInputStream、DataOutputStream除了字节和字节数组,还可以处理int,float,boolean等类型.还可以用readLine方法读取一行信息可使用的方法:write,writeBoolean,read,readByte等数据流的建立FileInputStream fos= new FileInputStream(”file2.txt"));DataInputStream dis= new DataInputStream(fos)数据输出流可以是一个已经建立好的输入数据流对象,例如网络的连结,文件等.类RandomAccessFile-----------------RandomAccessFile是处理本地文件的类zip文件需要用随机方法处理文件目录给出个文件的入口,可以随机读取.创建一个随机文件new RandomAccessFile(file1.txt, r);new RandomAccessFile(file2.txt, rw);随机文件可以同时完成读和写操作.支持随机文件操作的方法:readXXX()或writeXXX()skipBytes();将指针乡下移动若干字节seek():将指针调到所需位置getFilePointer():返回指针当前位置length():返回文件长度利用seek(long pos)方法查找随机文件中的信息其他操作------使用文件类获取文件的路径信息设f是一个文件对象File f=new File(“data”,temp.dat”);f.getName():返回文件名 temp.dat

f.getParent():返回文件所在目录名 dataf.getPath():返回文件路径 datatemp.datf.getAbsolutePath():返回绝对路径 unicode-----在java中用unicode 表示字符和字符串DatainputStream的readLine方法, 以字节形式读入, 以unicode形式输出DataInputStream不适合输入是unicode的形式处理字符用InputStreamReader 类和BufferedReader类(jdk1.1)管道流--------创建管道流管道流一定是输入输出并用例:将数据从输出管道进,从输入管道出PipedInputStream pis=new PipedInputStream();PipedOutputStream pos=new PipedOutputStream(pis);对象流----在java.io包中什么是对象的持续性?能够纪录自己的状态一边将来再生的能力,叫对象的持续性什么是串行化?对象通过写出描述自己状态的的数值来记录自己的过程叫串行化.什么是对象流?能够输入输出对象的流.两者什么关系?将串行化的对象通过对象输入输出流写入文件或传送到其它地方.相应的类:ObjectInput对象的输出: ObjectOutputStream相应的方法:writeObject()对象的输入:ObjectInputStream相应的方法:readObject()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值