java-RandomAccessFile操作以及IO流简单使用

1.1RandomAccessFile--使用RAF读写基本类型数据,以及了解Raf的指针操作
write有相对应的写入基本类型的方法
void seek(Long pos)调整RAF指针位置,可以在写入时随时调整指针位置
raf.write(bs);写入一个字符串数组getBytes("UTF-8")--将字符串按照UTF-8解析成字符数组
raf.read(date);读取--参数为创建好的字节数组后将字节放在数组中返回参数为读取到的长度
1.2java IO流;IO流是用来读写数据的Java标准操作
流分为两个方向:
输入流输出流
输入流,inputstream:用于从数据源读取数据到程序中的流,负责读取数据操作
输出流,outputstream:用于从程序中将数据发送出去的流,负责写出数据操作
流进行了两个分类:
字节流,处理流
字节流:读写数据一定是建立在字节流的基础上的,是实际建立在数据源与程序间的“管道”,负责时间搬运数据
处理流:处理流不能独立存在,故名思议,用来处理其他流的流,处理其他流的目的是通过处理流可以简化对其处理流的读写操作(处理工作由处理流代劳)
文件流:文件流是一对低级流,文件输入流用于读取文件数据,文件输出流用于向文件中写入数据。
FileOutputStream支持两组常用的构造方法
FileOutputStream(String path)
FileOutputStream(File file)
创建针对指定的文件的输出流,默认是覆盖模式,即:若指定的文件已经存在,会将该文件所有的数据清除,然后通过该流写出的所有数据作为这个文件的数据保存
FileOutputStream(String path,boolean append)
FileOutputStream(File file,boolean append)
第二个参数为boolean值,若该值为true,则输出流为追加模式,即:该文件原有数据保留,通过当前流写出的所有数据会全部追加到文件的末尾。
文件输入流,用于读取文件中数据的流FileInputStream
缓冲流bufferedInputStrram缓冲字节输入流
bufferedOutputStrram缓冲字节输出流
缓冲流是一对高级流,功能是加快读写效率
缓冲流内部维护了一个字节数组所以实际上缓冲流还是靠提高读写的数据量减少实际的读写次数提高读写效率,bis.read()方法在第一次读取时实际读取了一组字节,并将第一个字节返回,当再次调用该方法读取一个字节时会将第二个字节直接返回。直到所有的字节都返回过后才会再次实际获取一组字节回来
缓冲输出流的缓冲区问题--flush();当需要强制将缓存中数据写入到内存中,使用这个方法可以实现,在调用缓冲流的close方法的时候,在方法的内部也调用了这个方法
对象流java.io.ObjectOutputStream
对象流是一对高级流,可以方便我们读写Java中的任何对象(对象与字节的转换工作有对象流完成)对象输出流,用于写出java中的对象(想对应的对象的输入流下次)

我是初学者,如有更新不好的,欢迎这位大神指出,谢谢大家!

更多精彩以后更新,转载注明!

原文地址:https://www.cnblogs.com/CaiNiao-TuFei/p/7455417.html