我正在使用扫描仪读取一个阿拉伯文件,并将文本文件存储在ArrayList中
我有一本字典,里面有一些单词,正负词和它们的比率。
例如:سعيد+5-4سيء
然后,我用字典检查文本文件中的每个单词,如果这个词是负的,上升是负的,如果是正的,上升是正的,则是正的,然后进行比较,确定该文件是正的还是负的。
它适用于英语,但不适用于阿拉伯语,出于某种原因,它跳过数组中的第一个单词,即使它与“词典”完全匹配;如果我在文本文件开头按Enter键(新行),它会完美地工作--我尝试向ArrayList添加一条新行,并将文件作为新行的替代,但是它不能工作,必须按Enter Button键来添加。
for (String word: wordsList) { // loop through user file
try { // compare words with dictionary
String line;
// read from the Dictionary file
File fileDir = new File("C:\\Users\\Ameera\\Desktop\\Dictionary.txt");
BufferedReader inDict = new BufferedReader(new InputStreamReader(
new FileInputStream(fileDir), "utf-8"));
while ((line = inDict()) != null) {
String strSplit[] = line.split("\t"); // Split Dictionary line after each tab to get the word only without its rate
// example will get (سعيد, سيد) only
/* سعيد +5
سيء -4
*/
if (strSplit[0].equals(word)) {
int rate2 = Integer.parseInt(strSplit[1]); // get word rate
sent += rate2; // add word rate to file totoal rate
}
}
} catch (Exception e) {
e.printStackTrace();
}
}发布于 2017-07-05 19:12:58
谢谢各位,我真的很感谢你们的回答,我在这里找到了答案(Removing BOM characters using Java),MC皇帝,非常感谢,问题是因为字节顺序标记。
https://stackoverflow.com/questions/44893566
复制相似问题