在Java中,Scanner类默认使用系统的默认字符编码来读取输入。如果需要设置特定的编码,可以使用InputStreamReader来创建一个InputStream,然后将其传递给Scanner的构造函数。
下面是一个示例代码:
java
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
try {
InputStream inputStream = System.in;
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
Scanner scanner = new Scanner(inputStreamReader);
System.out.println("请输入文字:");
String input = scanner.nextLine();
System.out.println("输入的文字是:" + input);
scanner.close();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
在这个示例中,我们设置了输入流的编码为UTF-8。然后使用Scanner的nextLine方法来读取用户输入的文字。