Java 从cmd运行时如何显示希腊字符
我制作了一个程序,它可以删除一个网站,提取文本并将其写入.txt文件。当我从Intelij Idea运行程序时,每一行都正确地用希腊语打印。但是当我从cmd运行jar文件时,希腊文本被写成jibberishJava 从cmd运行时如何显示希腊字符,java,cmd,character-encoding,fileoutputstream,bufferedwriter,Java,Cmd,Character Encoding,Fileoutputstream,Bufferedwriter,我制作了一个程序,它可以删除一个网站,提取文本并将其写入.txt文件。当我从Intelij Idea运行程序时,每一行都正确地用希腊语打印。但是当我从cmd运行jar文件时,希腊文本被写成jibberish public class Logger extends Thread{ String input,path; int matchNumber; public Logger(String path0) { path=path0; } public void log (int match
public class Logger extends Thread{
String input,path;
int matchNumber;
public Logger(String path0) {
path=path0;
}
public void log (int matchesNumber0,String input0) {
matchNumber=matchesNumber0;
input=input0;
this.run();
}
@Override
public void run() {
BufferedWriter textWriter = null;
DateFormat date = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date today = Calendar.getInstance().getTime();
String stringDateToday = date.format(today);
if(input!=null) {
try {
String logFilePath = path;
textWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(logFilePath), StandardCharsets.UTF_8));
textWriter.write(stringDateToday + "-----" + matchNumber + "-----");
textWriter.write(input + "\n");
if (!input.contains(" content=")) {
setWarningMsg(input);
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("Incorrect Log File path!!!");
} finally {
try {
textWriter.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
可能是您用于查看文件的文本编辑器无法正确解码希腊文文本文件 如果您在Unix上(或在Windows上使用Cygwin),则
文件
程序可能会提供帮助。此程序查看前几个字节,以尝试猜测正确打开文件的程序。或者尝试在Intellij
本身中打开文件
chcp 65001 && java -jar -Dfile.encoding=UTF-8 path/to/your/runnable/jar
这解决了我的问题 是否使用MS Windows?将cmd输出添加为图像