我创建了一个程序,可以加载本地或远程日志文件。
如果我加载本地文件,则不会出现错误。
但是,如果我首先使用SCP将文件复制到我的本地计算机(在此使用以下代码:http://www.jcraft.com/jsch/examples/ScpFrom.java.html),然后读取文件,我会收到错误并显示为“ü/ä/ö”。
如何解决这个问题?
远程:Linux服务器 本地:Windows PC
SCP代码:
远程:Linux服务器 本地:Windows PC
SCP代码:
读取代码:
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