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

Java中常用的IO函数:如何处理输入和输出流?

发布时间:2023-05-28 00:51:06

在Java中,输入和输出都是通过IO流进行的。Java提供了许多IO函数来处理这些流。这些函数可分为两类:输入函数和输出函数。输入函数有Scanner类、InputStream和Reader类等。输出函数有PrintStream、OutputStream和Writer类等。

输入函数:

1.Scanner类

Scanner类是Java SE 5中新增的一个类,它为程序员提供了操作输入(从控制台或文件中读取)的各种方法。Scanner类可以使用System.in读取控制台输入,也可以使用文件流等方式读取文件的内容。Scanner类实例化后,通过next()或nextLine()方法来读取输入流中的数据。其中,next()方法读取以空格为分隔符的字符串,nextLine()方法读取整个行的字符串。

示例代码:

Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println(str);

2.InputStream和Reader类

InputStream和Reader类是Java的基本输入流类。InputStream类用于从字节流中读取数据,Reader类用于从字符流中读取数据。Java提供了许多的子类来实现不同的输入流,如FileInputStream、DataInputStream、BufferedInputStream等。

示例代码:

try (InputStream in = new FileInputStream("example.txt")){
    int data = in.read();
    while(data != -1){
        System.out.println((char) data);
        data = in.read();
    }
} catch (IOException e) {
    e.printStackTrace();
}

输出函数:

1.PrintStream类

PrintStream类是Java的标准输出流类,默认情况下将输出到控制台。它提供了许多用于格式化输出的方法。PrintStream还可以将数据输出到文件或其他输出流。

示例代码:

try(PrintStream ps = new PrintStream(new FileOutputStream("example.txt"))) {
    ps.println("Hello, world!");
    ps.println("Java is fun!");
} catch (IOException e) {
    e.printStackTrace();
}

2.OutputStream和Writer类

OutputStream和Writer类是Java的基本输出流类。OutputStream类用于向字节流中写入数据,Writer类用于向字符流中写入数据。Java提供了许多的子类来实现不同的输出流,如FileOutputStream、DataOutputStream、BufferedOutputStream等。

示例代码:

try (OutputStream out = new FileOutputStream("example.txt")){
    out.write("Hello, world!".getBytes());
} catch (IOException e) {
    e.printStackTrace();
}

输入和输出流是Java中非常重要的概念,能够熟练运用输入和输出函数将会极大地提高代码的可读性和效率。