猪猪的IT之路---Java成长之路(IO流——字节流)

字节流:都是用于处理二进制文件,读写单位都是字节,都是继承InputStream和OutputStream

猪猪的IT之路---Java成长之路(IO流——字节流)

Int available():返回可以从此输入流中读取到的字节数

Void close():释放资源的方法
猪猪的IT之路---Java成长之路(IO流——字节流)

输入流-低级流:

FileInputStream:对二进制文件进行读取的输入流,被读取的数据一定是磁盘文件

ByteArrayInputStream:对字节数组进行读取的输入流,被读取的数据是程序中的字节数组

PipedInputStream:对线程进行读取的输入流,被读取的数据是线程管道

输入流-高级流:

BufferedInputStream:带有缓冲区的输入流

DataInputStream:用于读取java基本类型数据和String数据

ObjectInputStream:用于读取对象类型数据的输入流(必须保证文件中存储的是通过对象输出流写入的对象数据)

字节流的使用:

一次读取一个

猪猪的IT之路---Java成长之路(IO流——字节流)

一次读取多个:使用字节数组作为缓存区

猪猪的IT之路---Java成长之路(IO流——字节流)

为什么的操作数据时需要使用:String str = new String(bytes,0,num)
猪猪的IT之路---Java成长之路(IO流——字节流)

String str = new String(bytes);等到字符串dello
worl

最终输出:hello worldello worl

完整操作参考代码:
猪猪的IT之路---Java成长之路(IO流——字节流)

补充:在标识文件的地址中尽量不要直接使用\,而是应该使用File中的分隔符属性,因为在不同系统语言中盘符的分隔符是不同的:使用File.separator代替在地址中的\
猪猪的IT之路---Java成长之路(IO流——字节流)

字节输出流:将程序中的数据写入磁盘文件

猪猪的IT之路---Java成长之路(IO流——字节流)

文件复制(上传):

猪猪的IT之路---Java成长之路(IO流——字节流)