Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java使用append从文件行提取数据_Java_Command Line_Append_Stringbuilder_Readfile - Fatal编程技术网

java使用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())

从我的代码可以看出,我对Java非常陌生。欢迎任何帮助:

我有一个文件包含如下行:

文件中的列:7

精确文件数量行:118

可变块中的确切文件记录长度字节:52

我想使用append来提取标签后面的数字,但它返回零,而不是标签后面的实际数字。以下是我所拥有的:

   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()) {...}