我正在寻找一种将制表符分隔的棒球统计文件读入二维数组列表的方法。我正在使用扫描仪读取文件,但我想不出如何将一行读入数组列表,在换行处停止,然后将下一行读入下一个数组列表。
这是我第一次尝试创建多维数组列表,我认为这与读取多维数组大致相同。我显然错了。
public static ArrayList dataRead(String fileloc) throws FileNotFoundException {
ArrayList array = new ArrayList<ArrayList>();
Scanner s = new Scanner(new File(fileloc)).useDelimiter("\t");
ArrayList<String> rows = new ArrayList<String>();
ArrayList cols = new ArrayList();
while(s.nextLine() != null) {
cols.add(s.next());
}
return array;
}
这是我现在的代码。将每一行读入一个字符串,由返回分隔,然后将每个字符串读入一个适当的数组列表,这是一个更好的选择吗?
最佳答案
您可以使用 opencsv并将分隔符设置为制表符。查看我提供的链接上的示例。
CSVReader reader = new CSVReader(new FileReader("yourfile.csv"), '\t');
String [] nextLine;
while ((nextLine = reader.readNext()) != null) {
// nextLine[] is an array of values from the line
System.out.println(nextLine[0] + nextLine[1] + "etc...");
}
尽管从您的问题中不清楚您在尝试“自己动手”时的实际问题是什么
关于java - 将制表符分隔文件读入 Java 中的 ArrayList<ArrayList>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10017062/