gpt4 book ai didi

java - 在Java中读取制表符分隔的文件,一次读取一个 "line"

转载 作者:行者123 更新时间:2023-12-01 10:09:41 24 4
gpt4 key购买 nike

我编写了代码来一次读取一行(行)制表符分隔的文件。我通过将 Excel 电子表格另存为制表符分隔的文本文件来创建该文件。电子表格中的每一行有 39 列,这意味着 38 个选项卡。这样做的目的是能够将 39 位数据中的每一个(包括空位)包装在 XML 标记中。然而,这段代码A。一次一行打印电子表格中的每一条数据,我在尝试访问特定的数据项时遇到了麻烦,这是至关重要的。例如,第一列是用户ID,第十二列是主地址线1,而第36列是顾客注释。但是,如果我将下面的代码更改为 get(55),我会收到 IndexOutOfBounds 异常。如果我请求第一条数据 get(0),程序会列出整个文件中的每一条数据。

boolean resultFlag = false;
try
{
theScanner = new Scanner(new FileReader("C:\\WMS\\GGBTS_Patron_Data_20160317_V1-0.txt"));
while (theScanner.hasNextLine())
{
patronRow = theScanner.next();
itemArray = new ArrayList(Arrays.asList(patronRow.split("\t")));
for(int i=0; i<itemArray.size(); i++)
{
System.out.println(" -->"+itemArray.get(i));
}
}
resultFlag = true;
}

我需要做什么才能获取单行的 39 个元素并能够在继续下一个逻辑行之前通过索引号引用它们?我不知道Excel是否用\n\r或类似的东西保存制表符分隔的文件。请帮助。我在这里有些受到阻碍,因为虽然我当了很多年程序员,但就我目前的情况来说,我是一个小型图书馆的学术引用馆员,没有办法获得IT支持。无论如何,我比我们的两个 IT 人员更了解编程,他们处理的是操作,而不是编码。谢谢。

最佳答案

这一行:

patronRow = theScanner.next();

应该是:

patronRow = theScanner.nextLine();

您想要获取整行,然后在 \t 上拆分...

关于java - 在Java中读取制表符分隔的文件,一次读取一个 "line",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36209450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com