javaio流字节流构造方法
时间: 2023-12-18 21:29:25 浏览: 133
Java IO流常用字节字符流原理解析
根据提供的引用内容,可以了解到Java IO流分为字节流和字符流两种类型。其中字节流以字节为单位进行读写,而字符流以字符为单位进行读写。下面是Java IO字节流的构造方法和使用方法:
1. InputStream类是所有字节输入流的父类,常用方法有:
- read():从输入流中读取一个字节的数据。
- read(byte[] b):从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中。
- skip(long n):跳过并丢弃输入流中的n个字节数据。
- available():返回输入流中可以被读取的字节数。
2. FileInputStream类是InputStream类的子类,常用方法有:
- FileInputStream(String name):创建一个文件输入流,以读取具有指定名称的文件。
- read():从输入流中读取一个字节的数据。
- read(byte[] b):从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中。
- skip(long n):跳过并丢弃输入流中的n个字节数据。
- available():返回输入流中可以被读取的字节数。
3. FileOutputStream类是OutputStream类的子类,常用方法有:
- FileOutputStream(String name):创建一个文件输出流,以写入具有指定名称的文件。
- write(int b):将指定的字节写入此文件输出流。
- write(byte[] b):将b.length个字节从指定的字节数组写入此文件输出流中。
- flush():刷新此输出流并强制任何缓冲的输出字节被写出。
下面是一个Java IO字节流复制文件的示例代码:
```java
public static void main(String[] args) {
try {
// 创建要复制文件的字节输入流
InputStream inp = new FileInputStream("/Users/chenyq/Documents/learn_Java/code/file-io-app/src/test.pdf");
// 创建目标路径的字节输出流
OutputStream oup = new FileOutputStream("/Users/chenyq/Documents/newtest.pdf");
// 使用文件输入流获取要复制文件的全部数据的字节数组
byte[] arr = inp.readAllBytes();
// 使用文件输出流将字节数组写入目标文件
oup.write(arr);
System.out.println("复制成功!");
// 释放资源
inp.close();
oup.close();
} catch (IOException e) {
e.printStackTrace();
}
}
```
阅读全文