如何解决JAVA控制台程序输入中文时出现的乱码问题

createh55个月前 (01-14)技术教程38

JAVA源文件

import java.util.Scanner;

public class Hello {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        System.out.print("请输入你的名字:");
        String name = sc.next();
        System.out.println(name + "你好!");
    }
}

运行字节码文件时,输入中文变成乱码

java Hello
请输入你的名字:张三
????你好!

设置文件编码格式为GBK,即可消除乱码

java -Dfile.encoding=GBK Hello
请输入你的名字:张三
张三你好!

运行jar包时,输入中文变成乱码

java -jar Hello.jar
请输入你的名字:张三
????你好!

设置文件编码格式为GBK,即可消除乱码

java -jar -Dfile.encoding=GBK Hello.jar
请输入你的名字:张三
张三你好!

若要将jar包转为EXE文件,可为JAVA虚拟机添加-Dfile.encoding=GBK参数

相关文章

Java 数据输入输出是什么,怎么用?

Java 数据输入输出通常也被称为Java I/O,是Java程序中读取和写入数据的过程。Java I/O是Java中的一个核心部分,它被广泛应用于Java应用程序和Java Web应用程序中。在Ja...

Java IO流之文件输入输出流

一.FileOutputStream(文件输出流) OutputStream是一个抽象类,抽象类必须通过子类实现。现在要向文件里输出就要用FileOutputStream。FileOutputStre...