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

使用Java中的输入/输出函数实现控制台交互

发布时间:2023-05-28 08:42:34

Java语言中提供了多个输入/输出函数用于实现控制台交互,可以方便地实现用户输入和程序输出。本文将介绍Java中常用的几种输入/输出函数,包括Scanner类、System.in和System.out、BufferedReader和PrintWriter类等。

一、Scanner类

Scanner类是Java中常用的输入函数之一,它提供了多种输入方法,可以读取控制台和文件等各种输入流。使用Scanner类可以方便地从控制台读取用户输入,以下是Scanner类的示例代码:

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入一个整数:");

        int num = scanner.nextInt();

        System.out.printf("你输入的整数是:%d%n", num);

    }

}

使用Scanner类时,首先需要创建Scanner对象,参数为输入流,这里使用System.in表示控制台输入。然后就可以使用nextInt()、nextDouble()、nextLine()等方法读取用户输入,其它方法可以查看官方文档。

二、System.in和System.out

System.in和System.out是Java语言自带的输入输出对象,分别表示标准输入和标准输出。使用这两个对象也可以方便地实现控制台交互,以下是System.in和System.out的示例代码:

import java.io.IOException;

public class Main {

    public static void main(String[] args) {

        try {

            byte[] bytes = new byte[1024];

            System.out.println("请输入:");

            int len = System.in.read(bytes);

            System.out.printf("你输入的内容是:%s%n", new String(bytes, 0, len));

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

}

使用System.in.read()方法可以读取用户输入的内容,返回的是字节数组长度,需要转换为字符串输出,这里使用new String(bytes, 0, len)进行转换。

三、BufferedReader和PrintWriter类

BufferedReader和PrintWriter类是Java中常用的输入输出对象,它们分别提供了字符和字符串的输入输出。使用这两个类可以方便地实现控制台交互,以下是BufferedReader和PrintWriter类的示例代码:

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;

public class Main {

    public static void main(String[] args) {

        try {

            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

            PrintWriter pw = new PrintWriter(System.out);

            pw.println("请输入:");

            String str = br.readLine();

            pw.printf("你输入的内容是:%s%n", str);

            pw.flush();

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

}

使用BufferedReader.readLine()方法可以读取用户输入的一行,使用PrintWriter.println()方法可以输出提示信息,使用PrintWriter.printf()方法可以输出格式化字符串,使用PrintWriter.flush()方法可以刷新输出缓冲区。

四、总结

Java中提供了多种输入输出函数用于实现控制台交互,包括Scanner类、System.in和System.out、BufferedReader和PrintWriter类等。每种函数都有各自的优劣,根据具体需求选择合适的函数可以提高程序开发效率和体验。