gpt4 book ai didi

Java - SCP 后 "ü/ä/ö"的问题

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:22:37 27 4
gpt4 key购买 nike

我创建了一个可以加载本地或远程日志文件的程序。如果我加载本地文件,则没有错误。但是,如果我先将带有 SCP 的文件复制到我的本地(我在其中使用此代码:http://www.jcraft.com/jsch/examples/ScpFrom.java.html)并读出它,我会收到错误消息,字母“ü/ä/ö”显示为�。我该如何解决这个问题?

远程:Linux-服务器本地:Windows-PC

SCP 代码:

http://www.jcraft.com/jsch/examples/ScpFrom.java.html

读出代码:

protected void openTempRemoteFile() throws IOException {

BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream( lfile )));
String strLine;

DefaultTableModel dtm = new DefaultTableModel(0, 0);
String header[] = new String[]{ "Timestamp", "Session-ID", "Log" };
dtm.setColumnIdentifiers(header);
table.setModel(dtm);

while ((strLine = reader.readLine()) != null) {

String[] sparts = strLine.split(" ");
String[] bparts = strLine.split(" : ");

String Timestamp = sparts[0] + " " + sparts[1];
String SessionID = sparts[4];
String Log = bparts[1];

dtm.addRow(new Object[] {Timestamp, SessionID, Log});
}
reader.close();
}

编辑:

本地文件编码格式:UTF-8

来自 Linux 服务器的 SCP 远程文件的编码格式:WINDOWS-1252

最佳答案

InputStreamReader 构造函数提供适当的 Charset,例如:

import java.nio.charset.StandardCharsets;

...

BufferedReader reader = new BufferedReader(
new InputStreamReader(
new FileInputStream( lfile ),
StandardCharsets.UTF_8)); // try also ISO_8859_1 if UTF_8 doesn't help.

关于Java - SCP 后 "ü/ä/ö"的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39742571/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com