欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA语言复习基础9-IO流

程序员文章站 2022-04-03 17:11:23
...

IO流:

定义:

流是一个抽象的概念。当Java程序需要从数据源读取数据时,会开启一个到数据源的流。数据源可以是文件,内存或者网络等。同样,当程序需要输出数据到目的地时也一样会开启一个流,数据目的地也可以是文件、内存或者网络等。流的创建是为了更方便地处理数据的输入输出。流分为字节流和字符流。

IO流分类:

字节流:字节流处理单元为1个字节,操作字节和字节数组。
字符流:字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串。

字符流和字节流区别:

1.读写时字节流按字节读,一个按字符读;
2.对内容按行处理,一般用字符流。
3.只读写文件,和文件内容无关(下载、复制等),一般用字节流。
4.字节流可以拷贝图片,影音等;字符流只能拷贝文本。

字符流的常用类:

JAVA语言复习基础9-IO流

实现文件复制的思路:

把文件先读到一个文件夹里,然后再用写入的方法把已读的文件写入到要复制的文件夹里。

字符流进行文件读写:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Copy {
    public static void main(String[] args) {
        int a = 0;
        BufferedReader reader = null;
        BufferedWriter writer = null;

        try {
            reader = new BufferedReader(new FileReader("D:\\study\\fff.txt"));
            writer = new BufferedWriter(new FileWriter("D:\\study\\ff.txt",true));
            while ((a = reader.read()) != -1) {
                writer.write(a);
                writer.newLine();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                reader.close();
                writer.close();
            } catch (Exception e2) {
            }
        }
    }
}