Java字节流

Java中的字节流

File 类里面的常量:*

public static final char separatorChar

public static final String separator

public static final char pathSeparatorChar

public static final String pathSeparator

separatorChar 和 separator 系统相关的默认名称分隔符

pathSeparatorChar 和 pathSeparator 依赖于系统的路径分隔符。

在UNIX系统上,这个字符是’:’ 和 “:”;

在Microsoft Windows系统上,它是’;’ 和 “;”。

Java流

IO流的作用:就是可以对文件或者网络中的数据进行读、写的操作。

把数据从磁盘、网络中读取到程序中来,用到的是输⼊流。

把程序中的数据写⼊磁盘、网络中,用到的是输出流。

把程序中的数据写⼊磁盘、网络中,用到的是输出流。

字节流是8位通⽤字节流,其基本单位是字节,字节流的基类是InputStream类和OutputStream类,它们是抽象类。

字符流是16位Unicode字符流,基本单位是Unicode字符,字符流最适合⽤来理字符串和⽂本,因为它们⽀持

国际上⼤多数的字符集和语言。字符流的基类是Reader类和Writer类,它们也是抽象类。

字节流
InputStream

在Java中, InputStream (输入流)是一个抽象类,用于从不同数据源读取字节数据。

它是Java I/O类库中的一部分,用于处理输入数据。 InputStream 的主要目的是提供一种通用的方式来读取字节

流,而不考虑数据源的具体类型。

方法:

方法名

方法描述

int read()

从输入流中读取下一个字节数据

int read(byte[] b)

从输入流中读取数据,并将数据存储在缓存区数

组b中,返回实际读取的字节数

把程序中的数据写⼊磁盘、⽹络中,⽤到的是输出流。

简单记:输⼊流(读数据)、输出流(写数据)

Java的输出流主要由OutputStream类和Write类作为基类,而输入流则主要由InputStream类和Reader类作为基

类。

输入/输出流又分为字节流和字符流两种形式:

字节流是8位通⽤字节流,其基本单位是字节,字节流的基类是InputStream类和OutputStream类,它们是

抽象类。

字符流是16位Unicode字符流,基本单位是Unicode字符,字符流最适合⽤来理字符串和⽂本,因为它们⽀持

国际上⼤多数的字符集和语⾔。字符流的基类是Reader类和Writer类,它们也是抽象类。

 字节流

InputStream

在Java中, InputStream (输入流)是一个抽象类,用于从不同数据源读取字节数据。

它是Java I/O类库中的一部分,用于处理输入数据。 InputStream 的主要目的是提供一种通用的方式来读取字节

流,而不考虑数据源的具体类型

int read(byte[] b,int offset, int len) //从输入流中读取最多len长度的字节,保存到字节数组b中,保存的位置从offset开始

void close() //关闭输入流

byte[] readAllBytes() //从输入流中读取所有剩余字节。

FileInputStream

构造3种:

FileInputStream(File file)

FileInputStream(FileDescriptor fdObj)

FileInputStream(String name)

方法:

read() //从剩余部分开始读取,放到byte[],返回读取的字节数

readAllBytes() //从剩余的字节读完,返回byte[]

int available() //返回可读取的剩余字节数的估计值(或 跳过)从此输入流中,而不会被下一个阻塞调用此输入流的方法。

int read(byte[] b) //从此输入读取多达字节的数据 流式传输到字节数组中

int read(byte[] b, int off, int len) //从此输入流读取多达字节的数据 到字节数组中。

long skip(long n) //跳过n个字节读取

注:用字节读汉字,按个读或者全部读

FileOutStream

构造5种:

FileOutputStream(File file): 创建文件输出流以写入指定File对象表示的文件。

FileOutputStream(File file, boolean append): 创建文件输出流以写入指定File对象表示的文件,append表示是否拼接。

FileOutputStream(String name): 创建文件输出流以写入具有指定名称的文件。

FileOutputStream(String name, boolean append): 创建文件输出流以写入具有指定名称的文件, append表示是否拼接。

FileOutputStream(FileDescriptor fdObj)创建要写入指定文件的文件输出流 描述符,表示与实际的现有连接文件。

方法:

str.getBytes() //将字符串转成byte[]

flush() //刷新

write() //往文件中写作业

字节流复制文件:

3种方法:

copy、 读入再写出、OutputStream中的tranferTo

IO流资源释放

JDK7以前的资源释放:try…catch…finally

JDK7以后的资源释放:try-with-resourses

只能是实现了AutoCloseable这个接口的类才可以使用,会自动调用fulsh(),close()

try(){}:将异常抛出给JVM可单独出现

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值