![](/img/trans.png)
[英]Single URLConnection to fetch only the first line in java using BufferedReader
[英]Using BufferedReader to read a single line in Java
我已成功從CSV中讀取代碼。 但是,當我嘗試使用fileReader
讀取獨奏行時,它會使我的代碼停止工作。
這是我的代碼:
try {
String line = "";
fileReader = new BufferedReader(new FileReader(filename));
while ((line = fileReader.readLine()) != null) {
String[] tokens = line.split(DELIMITER);
for (String token : tokens) {
totalData.add(token);
if (!artists.contains(token)) {
artists.add(token);
}
}
for (int l = 0; l <= 999; l++) {
lineData = fileReader.readLine();
lineArray[l] = lineData;
}
}
} finally {
fileReader.close();
}
當我嘗試讀取arrayList
大小和打印數據時,我從上面這個代碼上面的arrayList
獲得它使它停止工作:
for (int l = 0; l <= 80; l++) {
lineData = fileReader.readLine();
lineArray[l] = lineData;
}
如果我評論這個循環,一切都很好。 我真的需要這個for循環,如何編輯我的代碼來解決這個問題? 還有,發生了什么?
for (int l = 0; l <= 80; l++) {
lineData = fileReader.readLine();
lineArray[l] = lineData;
}
這個硬代碼可以代替一行代碼:
lineArray[i++] = line;
我糾正了你的代碼,這就是發生的事情:
String line = "";
int i = 0;
try (BufferedReader fileReader = new BufferedReader(new FileReader(""))) {
while ((line = fileReader.readLine()) != null) {
lineArray[i++] = line;
String[] tokens = line.split(DELIMITER);
for (String token : tokens) {
totalData.add(token);
if (!artists.contains(token)) {
artists.add(token);
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.