欢迎访问宙启技术站
智能推送

Java字节流和字符流函数:读取和写入文本文件的例子

发布时间:2023-05-21 05:41:45

Java字节流和字符流分别是以字节为单位进行读写和以字符为单位进行读写的流。在Java中,一般使用字符流进行文本文件的读写操作,因为字符流能够直接处理Unicode字符,而不会因为编码方式的不同而出现乱码的问题。

下面给出一个读取和写入文本文件的例子,包括使用字节流和字符流进行读写操作。

1. 使用字节流进行读写操作

读取文件内容:

import java.io.*;

public class ReadFile {

    public static void main(String[] args) {

        try {
            FileInputStream input = new FileInputStream("test.txt");
            int data;
            while ((data = input.read()) != -1) {
                System.out.print((char) data);
            }
            input.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}

上面的代码中,首先创建一个FileInputStream对象来打开文本文件。然后循环读取文件中的每一个字节,并将其转换为字符输出到控制台。最后关闭文件输入流。

写入文件内容:

import java.io.*;

public class WriteFile {

    public static void main(String[] args) {

        try {
            FileOutputStream output = new FileOutputStream("test.txt");
            String str = "Hello World!";
            byte[] data = str.getBytes();
            output.write(data);
            output.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}

上面的代码中,首先创建一个FileOutputStream对象来打开文本文件。然后将待写入的字符串转换为字节数组,最后将字节数组写入到文件中。最后关闭文件输出流。

2. 使用字符流进行读写操作

读取文件内容:

import java.io.*;

public class ReadFile {

    public static void main(String[] args) {

        try {
            FileReader reader = new FileReader("test.txt");
            int data;
            while ((data = reader.read()) != -1) {
                System.out.print((char) data);
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}

上面的代码中,首先创建一个FileReader对象来打开文本文件。然后循环读取文件中的每一个字符,并将其输出到控制台。最后关闭文件读取器。

写入文件内容:

import java.io.*;

public class WriteFile {

    public static void main(String[] args) {

        try {
            FileWriter writer = new FileWriter("test.txt");
            String str = "Hello World!";
            writer.write(str);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}

上面的代码中,首先创建一个FileWriter对象来打开文本文件。然后将待写入的字符串写入到文件中。最后关闭文件写入器。

总结:

在Java中,文本文件的读写一般使用字符流进行操作,因为字符流能够直接处理Unicode字符,并且避免了编码方式不同导致的乱码问题。如果只是简单的读写操作可以使用字节流进行操作,但是需要注意编码方式的问题。