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

如何使用Java中的IO函数 - 掌握Java中的输入输出函数及其应用

发布时间:2023-06-03 08:22:18

Java IO(输入输出)是Java标准库中提供的一套用于访问文件、网络、控制台等输入/输出设备的API。Java I/O可以用于读写文件、网络操作、数据库访问等任务。本文将介绍Java中的常用IO函数及其应用。

1. FileInputStream和FileOutputStream类

FileInputStream和FileOutputStream类主要用于读写文件,它们是最基本的IO类。演示代码如下:

import java.io.*;

public class FileIOExample {
    public static void main(String[] args) throws IOException {
        //读取文件
        FileInputStream inputStream = new FileInputStream("input.txt");
        int n;
        while ((n = inputStream.read()) != -1) {
            System.out.print((char)n);
        }
        inputStream.close();
        //写入文件
        FileOutputStream outputStream = new FileOutputStream("output.txt");
        outputStream.write("Hello World".getBytes());
        outputStream.close();
    }
}

上面的代码中,我们使用了FileInputStream类读取文件,并使用了FileOutputStream类写入文件。读取文件时,我们使用了read()方法读取文件,它返回一个代表读取到的字节的整数。需要注意的是,read()方法返回的值-1表示已经读完文件。写入文件时,我们使用了write()方法,它将字符转换成字节并写入文件中。

2. BufferedReader和BufferedWriter类

BufferedReader和BufferedWriter类是基于字符的IO类,它们提供了一些方法使得读写文件操作更加高效。演示代码如下:

import java.io.*;

public class BufferedIOExample {
    public static void main(String[] args) throws IOException {
        //读取文件
        BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
        String line;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
        reader.close();
        //写入文件
        BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"));
        writer.write("Hello World");
        writer.newLine();
        writer.write("Hello Java");
        writer.close();
    }
}

上面的代码中,我们使用了BufferedReader类读取文件,并使用了BufferedWriter类写入文件。与FileInputStream和FileOutputStream不同,BufferedReader和BufferedWriter是基于字符的。在读取文件时,我们使用了readLine()方法读取每行的内容。在写入文件时,我们使用了write()方法写入内容,并通过newLine()方法换行。

3. InputStreamReader和OutputStreamWriter类

InputStreamReader和OutputStreamWriter类用于将字节流转换成字符流,或将字符流转换成字节流。演示代码如下:

import java.io.*;

public class InputOutputStreamExample {
    public static void main(String[] args) throws IOException {
        //将字节流转换成字符流读取文件
        BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("input.txt")));
        String line;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
        reader.close();
        //将字符流转换成字节流写入文件
        OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream("output.txt"));
        writer.write("Hello World");
        writer.close();
    }
}

上面的代码中,我们使用了InputStreamReader类将字节流转换成字符流,并使用了OutputStreamWriter类将字符流转换成字节流。在读取文件时,我们将FileInputStream转换成了一个字符流,然后使用读取每行的内容。在写入文件时,我们使用了write()方法将字符写入文件中。

4. DataInputStream和DataOutputStream类

DataInputStream和DataOutputStream类用于读写基本数据类型。演示代码如下:

import java.io.*;

public class DataIOExample {
    public static void main(String[] args) throws IOException {
        //将基本数据类型写入文件
        DataOutputStream outputStream = new DataOutputStream(new FileOutputStream("data.txt"));
        outputStream.writeInt(123);
        outputStream.writeDouble(3.14);
        outputStream.writeUTF("Hello World");
        outputStream.close();
        //从文件中读取基本数据类型
        DataInputStream inputStream = new DataInputStream(new FileInputStream("data.txt"));
        int n = inputStream.readInt();
        double x = inputStream.readDouble();
        String s = inputStream.readUTF();
        System.out.println(n);
        System.out.println(x);
        System.out.println(s);
        inputStream.close();
    }
}

上面的代码中,我们使用了DataOutputStream类将基本数据类型写入文件中,并使用DataInputStream类从文件中读取基本数据类型。

总结:

本文介绍了Java中常用的IO函数,包括了FileInputStream和FileOutputStream类,BufferedReader和BufferedWriter类,InputStreamReader和OutputStreamWriter类,DataInputStream和DataOutputStream类。这些类和方法可以帮助我们读写文件,并处理其他类型的输入输出任务。在实际开发中,选择适当的IO类和方法是非常重要的。