当我从老师那里读书时,我得到一个空值。 csv文件。第1列att [0]有效,但att [1]返回3个空值。
我的csv看起来像这样: 1,墨菲先生 2,戴维斯先生 3,辛普森女士 每个在单独的线上,即线1 - > 1,墨菲先生等
这是我的代码:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadCSV
{
public static void main(String[] args)
{
//Input file which needs to be parsed
String readTeachers = "teacher.csv";
BufferedReader fileReader = null;
//Delimiter used in CSV file
final String DELIMITER = ",";
try
{
String line = "";
//String line = inFile.readLine();
//Create the file reader
fileReader = new BufferedReader(new FileReader(readTeachers));
int count=0;
String[] att = new String[10];
//Read the file line by line
while ((line = fileReader.readLine()) != null)
{
//Get all tokens available in line
String[] tokens = line.split(DELIMITER);
int i=0;
count++;
for(String token : tokens)
{
att[i] = token;
i++;
//Print all tokens
// System.out.println(token);
System.out.println(att[1]);
break;
}
}
//System.out.println(count);
//System.out.println(att[1]);
}
catch (Exception e) {
e.printStackTrace();
}
finally
{
try {
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
答案 0 :(得分:1)
你的问题是你在for循环中有一个break语句,它在第一次迭代结束时退出循环。因此,您只在数组的第一个索引中放置一个值。拿出那个陈述,它应该没问题。
<a>