java如何读入
读取用户输入的方法
在Java中,读取用户输入可以通过多种方式实现,具体取决于输入源和需求。以下是几种常见的读取输入的方法:
使用 Scanner 类读取控制台输入
Scanner 类是Java中最常用的读取输入的方式之一,适用于从控制台或文件读取数据。
import java.util.Scanner;
public class ReadInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入内容: ");
String input = scanner.nextLine();
System.out.println("你输入的内容是: " + input);
scanner.close();
}
}
Scanner 提供了多种方法读取不同类型的数据,例如 nextInt()、nextDouble()、next() 等。
使用 BufferedReader 读取控制台输入
BufferedReader 是另一种高效的输入读取方式,尤其适用于读取大量数据。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ReadInput {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入内容: ");
String input = reader.readLine();
System.out.println("你输入的内容是: " + input);
reader.close();
}
}
BufferedReader 的 readLine() 方法可以一次读取一行文本。
从文件中读取输入
如果需要从文件中读取数据,可以使用 Scanner 或 BufferedReader 结合 FileReader。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFile {
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();
}
}
使用 System.console() 读取密码输入
对于需要隐藏输入内容的场景(如密码),可以使用 System.console()。

public class ReadPassword {
public static void main(String[] args) {
Console console = System.console();
if (console == null) {
System.out.println("控制台不可用");
return;
}
char[] password = console.readPassword("请输入密码: ");
System.out.println("密码已输入");
}
}
选择合适的方法
- 简单输入:
Scanner是最方便的选择,适合读取基本数据类型和字符串。 - 高效读取:
BufferedReader性能更好,适合处理大量数据或文件。 - 安全性:
System.console()适合需要隐藏输入的场景(如密码)。
注意事项
- 使用
Scanner或BufferedReader后,应调用close()方法释放资源。 - 读取文件时需处理
IOException。 System.console()在IDE中可能返回null,需检查可用性。






