我编写了代码,一次读取一行(行)的制表符分隔文件。我通过将其保存为制表符分隔的文本文件,从Excel电子表格创建了该文件。电子表格中的每一行都有39列,这意味着38个标签。这样做的目的是能够在XML标记中包装39位数据中的每一位,包括空位。但是,这段代码 一个。一次一行打印电子表格中的每一条数据,我在尝试访问特定数据项时遇到问题,这是必不可少的。第一列是用户id,第十二列是主地址行1,36列是顾客注释。但是,如果我将下面的代码更改为get(55),我会得到一个IndexOutOfBounds异常。如果我要求第一个数据,得到(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人员更好,他们处理的是操作,而不是编码。感谢。
肯
答案 0 :(得分:1)
这一行:
patronRow = theScanner.next();
应该是:
patronRow = theScanner.nextLine();
你想让整条线分开\t
......