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

Java中的IO流函数和使用实例

发布时间:2023-06-02 02:20:16

Java中的IO流函数和使用实例

Java中的IO(Input/Output)流是Java中常用的输入输出方式。Java中的IO流可以从文件、网络、标准输入输出等各种来源读取和写入数据。在Java中,IO流可以分为字节流和字符流两种类型。

字节流与字符流

字节流是以字节为单位读、写数据的,而字符流是以字符为单位读、写数据的。

字节流:

 InputStream 和 OutputStream 是基本的字节流,在 Java 应用程序中非常常用。

 FileInputStream 和 FileOutputStream 在 Java 中常用于与文件进行输入输出操作。

ByteArrayInputStream 和 ByteArrayOutputStream 可以将内存中的字节数组当成输入输出流。

DataInputStream 和 DataOutputStream 用于读写 Java 的基本数据类型以及字符串。

ObjectInputStream 和 ObjectOutputStream 用于读写 Java 的对象。

SocktInputStream 和 SocketOutputStream 用于在网络上进行输入输出操作。

 

字符流:

Reader 和 Writer 是基本的字符流,在 Java 应用程序中非常常用。

FileReader 和 FileWriter 在 Java 中常用于与文件进行输入输出操作。

StringReader 和 StringWriter 可以将字符串当成输入输出流。

BufferedReader 和 BufferedWriter 用于对文本文件进行缓冲处理。

PushbackReader 可以将一个字符或一个字符串“推回”到字符流的输入端。

InputStreamReaden 一般使用要指定字符编码方案。

使用实例:

1. 读取文件并显示

import java.io.*;

public class FileReadDemo {

    public static void main(String[] args) {

        try {

            BufferedReader in = new BufferedReader(new FileReader("file.txt"));

            String s;

            while ((s = in.readLine()) != null) {

                System.out.println(s);

            }

            in.close();

        } catch (IOException e) {

            System.err.println("Error: " + e.getMessage());

        }

    }

}

2. 读写字节流

import java.io.*;

public class CopyTest {

    public static void main(String[] args) {

        try {

            FileInputStream fis = new FileInputStream("input.txt");

            FileOutputStream fos = new FileOutputStream("output.txt");

            byte[] buffer = new byte[1024];

            int len;

            while ((len = fis.read(buffer)) != -1) {

                fos.write(buffer, 0, len);

            }

            fis.close();

            fos.close();

        } catch (IOException e) {

            System.err.println("Error: " + e.getMessage());

        }

    }

}

3. 读写字符流

import java.io.*;

public class FileCopy {

    public static void main(String[] args) {

        try {

            FileReader fr = new FileReader("input.txt");

            FileWriter fw = new FileWriter("output.txt");

            int ch;

            while ((ch = fr.read()) != -1) {

                fw.write(ch);

            }

            fr.close();

            fw.close();

        } catch (IOException e) {

            System.err.println("Error: " + e.getMessage());

        }

    }

}

总结:

Java中的IO流是一种很重要的输入输出方式,可以从文件、网络、标准输入输出等各种来源读取和写入数据。Java中的IO流可以分为字节流和字符流两种类型,它们各有不同的功能和用法。在实际应用中,我们需要根据需要选择不同的IO流,并且了解其具体的使用方法。