【发布时间】:2013-08-30 12:10:50
【问题描述】:
我正在执行 java 代码。 readLine() 方法从文本文件中返回一个空字符串,即使文件中有文本。
BufferedReader csv = new BufferedReader(new FileReader("D:/SentiWordNet_3.0.0/home/swn/www/admin/dump/senti.txt"));
String line = "";
while((line = csv.readLine()) != null){
String[] data = line.split("\t");
Double score = Double.parseDouble(data[2])-Double.parseDouble(data[3]);
}
调用split()后,抛出异常Arrayindexoutofboundsexception。
下面是文本文件。每行以"a" 开头,后跟一个数字。该代码能够检索到带有单词 apocrine 的行,但不能检索带有单词 eccrine 的行。当我在调试模式下运行时,行变量返回为空字符串。
a 00098529 0 0 大汗腺#1(外分泌腺)产生分泌物,其中部分分泌细胞随分泌物一起释放; “母乳是一种大汗腺分泌物”
a 00098736 0.25 0 eccrine#1(外分泌腺)产生清澈的水性分泌物,但不释放部分分泌细胞;对调节体温很重要
a 00098933 0 0 自流#1(水)上升到 内部静水压力下的表面; “自流井”; “自流压力”
我应该使用其他构造来读取文本文件中的行
【问题讨论】:
-
请发布有问题的文本文件,不要为您的问题编写“示例”代码;发布您的真实代码。文件中有空行吗?
-
您确定
filename是真实文件吗?请记住,如果您使用反斜杠,则必须转义它们 -
@PeterJaloveczki 这似乎与当前问题没有重复。
-
@Doorknob 这将得到一个
FileNotFoundException,而不是一个空字符串。