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

相关推荐
波力海苔夹心脆6753 分钟前
C# 委托与事件详解:委托声明、Action/Func、多播、event 与 EventHandler 入门教程
开发语言·c#·.net·上位机·委托·事件
careathers19 分钟前
【数据结构】基于比较的排序算法 - 插入排序
java·数据结构·排序算法
Dovis(誓平步青云)22 分钟前
切换语言后按钮被截断,本地化审计怎样发现长度风险
开发语言·前端·javascript·人工智能·机器学习·华为·harmonyos
小王C语言30 分钟前
Qt常用控件:按钮类控件,普通按键、单选、复选
开发语言·qt
街头便衣32 分钟前
OpenRouter周榜复算:164万亿token,输出2.55%,DeepSeek账单占1.4%
android·java·开发语言·人工智能·语言模型·开源
mister_guo37 分钟前
Spring Boot 配置文件读取的几种方式:用法、原理与常见误区
java·spring boot
余槐i38 分钟前
虚拟线程上线后吞吐反而掉了:Spring Boot 3 里 synchronized 锁住载体线程的定位与修复
java·spring boot·性能优化·虚拟线程·jdk 21
老王IT39 分钟前
PHP语言基础语法介绍
开发语言·php
要开心吖ZSH41 分钟前
DDD(领域驱动设计)篇三:实战对照——同一个订单业务,两种架构怎么写
java·架构·领域模型·ddd·领域驱动设计·设计思想