java - 在 Java 中将制表符分隔的文件读入 ArrayList<ArrayList>

标签 java

我正在寻找一种方法将制表符分隔的棒球统计数据文件读取到二维数组列表中。我正在使用扫描仪读取文件,但我不知道如何将一行读入数组列表,在换行符处停止,然后将下一行读入下一个数组列表。

这是我第一次尝试创建多维数组列表,我认为这与读取多维数组非常相似。我显然错了。

    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/

相关文章:

java - 在 Canvas 上加载图片并在图片上叠加文字并保存

java - MYSql 中的全文搜索

java - 为什么二级泛型在 Java 中是不可能的

java - 使用java中的线程进行文件的多个副本

java - 在 Dropwizard 中设置 SSL

java oop : Two extended classes that need to be called regardless of type

java - 如何检查使用 xpath 找到的元素的 href contains text()

java - 类加载器和服务加载器。使用哪个类加载器?

java - 为什么要将 main() 放在专用类中?

java - 如何获取Java Swing列表中未选中的右键单击项?