一次只读一个“行”的Java制表符分隔的文件

我已经编写代码一次读取一行(行)制表符分隔的文件。 我通过将其保存为制表符分隔的文本文件,从Excel电子表格中创build了他的文件。 电子表格中的每一行都有39列,这意味着38个选项卡。 这样做的目的是能够在XML标签中将39位数据中的每一位(包括空位)进行包装。 但是,这个代码a。 一次一行地打印电子表格中的每一条数据,我在尝试访问特定的数据项时遇到了困难,这是必不可less的。 例如,第一列是用户标识,第十二列是主要地址行1,第36列是用户标识。 但是,如果我改变下面的代码得到(55)我得到一个IndexOutOfBoundsexception。 如果我询问第一个数据,得到(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