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

Java中如何使用输入输出函数进行数据流的读写操作

发布时间:2023-06-13 18:31:49

Java提供了许多输入输出函数来帮助我们进行数据流的读写操作,其中最常用的是System.in和System.out成员变量。 System.in是一个标准的输入流,表示从控制台获取输入数据,而System.out是一个标准的输出流,表示向控制台输出数据。

Java中还有许多其他的输入输出函数,如FileInputStream和FileOutputStream(用于读写文件),BufferedReader和BufferedWriter(用于高效地读写数据),PrintStream和PrintWriter(用于格式化输出数据)等等。下面将介绍一些常用的输入输出函数及其使用方法。

1.从控制台获取输入数据:System.in

System.in是一个标准的输入流,可以使用Scanner类来解析控制台输入的数据,并使用System.out输出结果。例如:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        System.out.println(a + b);
    }
}

上述代码从控制台获取两个整数a和b,并输出它们的和。

2.读写文件:FileInputStream和FileOutputStream

FileInputStream和FileOutputStream用于读写文件。使用FileInputStream可以打开一个文件并读取其中的内容,使用FileOutputStream可以将数据写入到文件中。例如:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        FileInputStream inputStream = new FileInputStream("input.txt");
        FileOutputStream outputStream = new FileOutputStream("output.txt");

        int b = 0;
        while ((b = inputStream.read()) != -1) {
            outputStream.write(b);
        }

        outputStream.close();
        inputStream.close();
    }
}

上述代码从"input.txt"文件中读取数据,并将它们写入到"output.txt"文件中。

3.高效读写数据:BufferedReader和BufferedWriter

BufferedReader和BufferedWriter用于高效地读写数据。它们使用缓冲区来存储数据,从而减少了对底层数据源(如磁盘或网络)的访问次数。例如:

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
        BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"));

        String line;
        while ((line = reader.readLine()) != null) {
            writer.write(line);
            writer.newLine();
        }

        reader.close();
        writer.close();
    }
}

上述代码从"input.txt"文件中读取数据,并将它们写入到"output.txt"文件中。注意,BufferedWriter提供了一个newLine()方法来插入一个换行符("

")。

4.格式化输出数据:PrintStream和PrintWriter

PrintStream和PrintWriter可以帮助我们格式化输出数据。例如,我们可以使用System.out.printf方法来输出格式化的数据:

public class Main {
    public static void main(String[] args) {
        String str = "Hello";
        int num = 20;
        System.out.printf("String: %s, Integer: %d
", str, num);
    }
}

上述代码输出"String: Hello, Integer: 20"。注意,System.out.printf方法接受一个格式化字符串和一个或多个参数,它们将按照格式化字符串中的占位符(如"%s"和"%d")进行格式化。

在Java中,使用输入输出函数进行数据流的读写操作非常常见和重要。通过掌握这些输入输出函数的使用方法,我们可以更好地处理输入数据和输出结果,使我们的程序具有更高的效率和可维护性。