[英]Parse Text file in Java
我正在尝试从文本文件中读取输入(只读arraylist中的数字)。 我的文本文件看起来像这样包含数字(146,7,-1,-2,3)。实际上看起来像这样:HEADER 1467-1-23
现在,当我在文件中放入HEADER字符串时,我的代码将无法读取第一个数字146(以我的情况为开头),第二个数字为“ 7”。但是,当字符串HEADER不存在时,也会读取146显然是我想要的。我的代码是这样的:
String pathToWrite="C:\\Users\\User\\Desktop\\Hello.txt";
FileReader fr=new FileReader(pathToWrite);
BufferedReader bufferedReader=new BufferedReader(fr);
String aLine=null;
int numberOfLine=0;
List<Integer> list = new ArrayList<Integer>();
List<Integer> list2 = new ArrayList<Integer>();
while((aLine=bufferedReader.readLine()) != null )
{
if(numberOfLine > 1) //since header lies in first line,I want to skip that line
{
list.add(Integer.parseInt(aLine));
}
numberOfLine++;
}
是否需要有关如何更改代码以读取第一个数字的建议? 提前致谢
该文件如下所示:
HEADER
146
7
1
23
? 然后尝试if(numberOfLine > 0)
。 这是因为您开始从零开始计数。
使用String的split函数分割行
String [] numbers = aLine.split(",");
这将为您提供数组中的所有数字。
我希望它能解决您的查询!
典型>
vs. >=
错字。 只需将if(numberOfLine > 1)
更改为if(numberOfLine >= 1)
。
该文件看起来像这样吗?
HEADER 1467-1-23
如果这样,请给出第二行的示例。 因为这是id = 0的一行; 还是这样?
HEADER
1467-1-23
...
更改您的if语句或numberOfLine = 0; 变量。 您可以执行以下任一操作
情况1:
int numberOfLine=0;
while((aLine=bufferedReader.readLine()) != null )
{
if(numberOfLine >= 1) //since header lies in first line,I want to skip that line
{
list.add(Integer.parseInt(aLine));
}
numberOfLine++;
}
================================================== ==========
情况2:
int numberOfLine=1;
while((aLine=bufferedReader.readLine()) != null )
{
if(numberOfLine > 1) //since header lies in first line,I want to skip that line
{
list.add(Integer.parseInt(aLine));
}
numberOfLine++;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.