我正在尝试将文本文件读入String变量。文本文件有多行。 打印完字符串以测试“读入”代码后,每个字符之间都有一个额外的空格。当我使用String生成角色bigrams时,空格使得示例文本无用。 代码是
try {
FileInputStream fstream = new FileInputStream(textfile);
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
//Read corpus file line-by-line, concatenating each line to the String "corpus"
while ((strLine = br.readLine()) != null) {
corpus = (corpus.concat(strLine));
}
in.close(); //Close the input stream
}
catch (Exception e) { //Catch exception if any
System.err.println("Error test check: " + e.getMessage());
}
我很感激任何建议。
感谢。
答案 0 :(得分:0)
您的文本文件可能是UTF-16(Unicode)编码的。 UTF-16需要两个或四个字节来表示每个字符。对于大多数西方文本文件,“中间”字节是不可打印的,看起来像空格。
您可以使用second argument of InputStreamReader指定编码。
或者,修改文本文件(Unix上的iconv,Windows上的记事本中的另存为...对话框):