-1

我目前正在将一个文件读入java,其中该文件包含(“char symbol”“tab”“6 comma separated booleans”“new line”)的列表

我正在仔细阅读它并将其拆分好 - 但是我有一个问题,即英镑符号和语音标记被读取为带有问号的黑色菱形。这把一切都搞砸了,因为我需要能够识别哪些代码与哪个字符符号一起使用。

我正在阅读使用:

public void read()
 {

  int i = 0;
  try{
    // Open the file
    InputStream is = am.open("combinations.txt");
    // Get the object of DataInputStream
    DataInputStream in = new DataInputStream(is);
    BufferedReader br = new BufferedReader(new InputStreamReader(in));
    String strLine;
    //Read File Line By Line
    while ((strLine = br.readLine()) != null && i < 53)   {
     String[] sep1 = strLine.split("\t");
     String[] sep2 = sep1[1].split(",");
     entries[i] = new Entry(sep1[0].charAt(0), new CellPattern(Boolean.valueOf(sep2[0]),
       Boolean.valueOf(sep2[1]),Boolean.valueOf(sep2[2]),Boolean.valueOf(sep2[3]),
       Boolean.valueOf(sep2[4]),Boolean.valueOf(sep2[5])));
     i++;
    }
    //Close the input stream
    in.close();
    }catch (Exception e){//Catch exception if any
    System.err.println("Error: " + e.getMessage());
    }
4

1 回答 1

2

这是一个编码问题,请尝试将 BufferedReader 行更改为:

BufferedReader br = new BufferedReader(new InputStreamReader(in, "UTF-8"));

我不确定您需要哪种编码,因此您可能想尝试几种不同的编码。

编辑:尝试“ISO-8859-1”

于 2013-04-02T01:14:56.557 回答