流的分类
流的分类
目录
- 流的分类
- 字符流FileReader和FileWriter
- 字节流FileInputStream和FileOutputStream
字符流FileReader和FileWriter
FileReader类
| 构造方法摘要 |
|---|
**FileReader**(File file) 在给定从中读取数据的 File 的情况下创建一个新 FileReader。 |
**FileReader**(FileDescriptor fd) 在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader。 |
**FileReader**(String fileName) 在给定从中读取数据的文件名的情况下创建一个新 FileReader。 |
FileWriter类
| 构造方法摘要 |
|---|
**FileWriter**(File file) 根据给定的 File 对象构造一个 FileWriter 对象。 |
**FileWriter**(File file, boolean append) 根据给定的 File 对象构造一个 FileWriter 对象。 |
**FileWriter**(FileDescriptor fd) 构造与某个文件描述符相关联的 FileWriter 对象。 |
**FileWriter**(String fileName) 根据给定的文件名构造一个 FileWriter 对象。 |
**FileWriter**(String fileName, boolean append) 根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。 |
字节流FileInputStream和FileOutputStream
public class FileInputStream extends InputStream
(1)FileInputStream 从文件系统中的某个文件中获得输入字节。哪些文件可用取决于主机环境。
(2)FileInputStream 用于读取诸如图像数据之类的原始字节流。
| 构造方法摘要 |
|---|
**FileInputStream**(File file) 通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。 |
**FileInputStream**(FileDescriptor fdObj) 通过使用文件描述符 fdObj 创建一个 FileInputStream,该文件描述符表示到文件系统中某个实际文件的现有连接。 |
**FileInputStream**(String name) 通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。 |
public class FileOutputStream extends OutputStream
(1)文件输出流是用于将数据写入 File 或 FileDescriptor 的输出流。文件是否可用或能否可以被创建取决于基础平台。特别是某些平台一次只允许一个 FileOutputStream(或其他文件写入对象)打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。(2) FileOutputStream 用于写入诸如图像数据之类的原始字节的流。
| 构造方法摘要 |
|---|
**FileOutputStream**(File file) 创建一个向指定 File 对象表示的文件中写入数据的文件输出流。 |
**FileOutputStream**(File file, boolean append) 创建一个向指定 File 对象表示的文件中写入数据的文件输出流。 |
**FileOutputStream**(FileDescriptor fdObj) 创建一个向指定文件描述符处写入数据的输出文件流,该文件描述符表示一个到文件系统中的某个实际文件的现有连接。 |
**FileOutputStream**(String name) 创建一个向具有指定名称的文件中写入数据的输出文件流。 |
**FileOutputStream**(String name, boolean append) 创建一个向具有指定 name 的文件中写入数据的输出文件流。 |
例:使用字节流复制图片
1 import java.io.FileInputStream;
2 import java.io.FileOutputStream;
3 import java.io.IOException;
4
5 public class CopImg {
6 public static void main(String[] args) throws IOException {
7 FileInputStream fin=new FileInputStream("C:\\Users\\Administrator\\Desktop\\Img.jpg");
8 FileOutputStream fout=new FileOutputStream("C:\\Users\\Administrator\\Desktop\\ImgCopy.jpg");
9 int len=0;
10 byte[] buff=new byte[1024];
11 while((len=fin.read(buff))!=-1) {
12 fout.write(buff, 0, len);
13 }
14 fin.close();
15 fout.close();
16 }
17 }