java java.util.Scanner设置编码

在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方法来读取用户输入的文字。

相关推荐
NE_STOP11 小时前
MyBatis-配置文件解读及MyBatis为何不用编写Mapper接口的实现类
java
后端AI实验室16 小时前
用AI写代码,我差点把漏洞发上线:血泪总结的10个教训
java·ai
程序员清风18 小时前
小红书二面:Spring Boot的单例模式是如何实现的?
java·后端·面试
belhomme18 小时前
(面试题)Redis实现 IP 维度滑动窗口限流实践
java·面试
Be_Better18 小时前
学会与虚拟机对话---ASM
java
开源之眼20 小时前
《github star 加星 Taimili.com 艾米莉 》为什么Java里面,Service 层不直接返回 Result 对象?
java·后端·github
Maori31621 小时前
放弃 SDKMAN!在 Garuda Linux + Fish 环境下的优雅 Java 管理指南
java
用户908324602731 天前
Spring AI 1.1.2 + Neo4j:用知识图谱增强 RAG 检索(上篇:图谱构建)
java·spring boot
小王和八蛋1 天前
DecimalFormat 与 BigDecimal
java·后端
beata1 天前
Java基础-16:Java内置锁的四种状态及其转换机制详解-从无锁到重量级锁的进化与优化指南
java·后端