在Java中,Scanner类默认使用系统的默认字符编码来读取输入。如果需要设置特定的编码,可以使用InputStreamReader来创建一个InputStream,然后将其传递给Scanner的构造函数。
下面是一个示例代码:
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方法来读取用户输入的文字。