我的macOS应用程序中有以下代码,用于读取latin1编码文件:
import javax.swing.*;
public class ssce{
public static void main(String... args){
// Declarations
String string1 = "Eggs";
String string2 = "Whole Chicken";
int quantity1 = 100;
int quantity2 = 25;
JFrame f = new JFrame("prova");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
String[] col = {"Ingredient", "Quantity"};
Object[][] data = {
{string1, new Integer(quantity1)},
{string2, new Integer(quantity2)}
};
JTable tb = new JTable(data, col);
f.add(tb);
f.setSize(300, 400);
f.setVisible(true);
}
}
以下代码可以完美地读取英文代码,然后将其打印到控制台,并将其显示在let fileContent = try! String(contentsOf: pathURLOfMyFile, encoding: String.Encoding.isoLatin1)
print(fileContent)
resultTextView.string = fileContent
上。
但问题是,如果文件中有一些字符(或者我认为任何非拉丁字符),它不想正确读取它们,控制台和文本视图都会输出随机代码resultTextView
(原文是你好)。
如何在我的应用中正确阅读此文件?感谢。
P.S。如果我将编码更改为UTF8,它将正常工作。但我有一些CSV文件,只有在我使用latin1字符串编码时才能打开。
以UTF8打开文件时出现以下错误:
ä½ å¥½