java使用append从文件行提取数据
从我的代码可以看出,我对Java非常陌生。欢迎任何帮助: 我有一个文件包含如下行: 文件中的列:7 精确文件数量行:118 可变块中的确切文件记录长度字节:52 我想使用append来提取标签后面的数字,但它返回零,而不是标签后面的实际数字。以下是我所拥有的:java使用append从文件行提取数据,java,command-line,append,stringbuilder,readfile,Java,Command Line,Append,Stringbuilder,Readfile,从我的代码可以看出,我对Java非常陌生。欢迎任何帮助: 我有一个文件包含如下行: 文件中的列:7 精确文件数量行:118 可变块中的确切文件记录长度字节:52 我想使用append来提取标签后面的数字,但它返回零,而不是标签后面的实际数字。以下是我所拥有的: public int extractVariables(String aLine) { Scanner scan = new Scanner(actualFile); while(scan.hasNext())
public int extractVariables(String aLine)
{
Scanner scan = new Scanner(actualFile);
while(scan.hasNext())
{
String line = scan.nextLine();
if(line.contains("Columns in File:"))
{
StringBuilder numOfVariables = new StringBuilder();
for(int i = 16; i < line.length(); i++)
{
numOfVariables.append(charAt(i)).trim();
}
// check if the information is missing
if(numOfVariables != null && !numOfVariables.equals(""))
{
int variables = Integer.parseInt(numOfVariables);
}
else
{
System.out.print("Number of varibales is missing!");
}
}
return variables;
}
}
所以我把actualFile放在扫描仪上打开文件并读取行,扫描仪读取的文件正确吗?也许这就是为什么该方法返回零?而不是
for(int i = 16; i < line.length(); i++)
{
numOfVariables.append(charAt(i)).trim();
}
此外,要检查是否有数字或是否丢失,您可以使用:
if(line.hasNextInt()) {...}
line.nextInt();
if(line.hasNextInt()) {...}