Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.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文件时请清空空间_Java_File - Fatal编程技术网

读取java文件时请清空空间

读取java文件时请清空空间,java,file,Java,File,因此,当我读取此文件时,第一行应该是一个整数(另一个变量将容纳该整数),否则它将引发异常。 文件的其余部分应该是数据(所有数据的另一个变量),但由于某种原因,字符串开头包含一个空格,当我拆分它时,我必须在数组中使用+1,因为这个空格 使用String.Trim()删除字符串开头和结尾的空白。 链接到方法:问题是它读取的是第一个int,然后是第一行的其余部分 基本上: 15\n此处有一行\n此处有另一行 其中\n是换行符 它读取15,然后读取到\n,即“”(省略换行符)。其余的内容如你所料 尝试使

因此,当我读取此文件时,第一行应该是一个整数(另一个变量将容纳该整数),否则它将引发异常。 文件的其余部分应该是数据(所有数据的另一个变量),但由于某种原因,字符串开头包含一个空格,当我拆分它时,我必须在数组中使用+1,因为这个空格

使用String.Trim()删除字符串开头和结尾的空白。
链接到方法:

问题是它读取的是第一个int,然后是第一行的其余部分

基本上:

15\n此处有一行\n此处有另一行

其中\n是换行符

它读取15,然后读取到\n,即“”(省略换行符)。其余的内容如你所料

尝试使用:

private Scanner inputFile;
private String corpusFileString = "";
try
{
    File file = new File(sourceFile.getText());
    inputFile = new Scanner(file);
    JOptionPane.showMessageDialog(null, "The file was found.");
    if (text != null)
    {
        translate.setEnabled(true);
    }
}
catch (FileNotFoundException ex)
{
    JOptionPane.showMessageDialog(null, "The file was not found.");
}

try
{
    numberWords = inputFile.nextInt();
}
catch (InputMismatchException ex)
{
    JOptionPane.showMessageDialog(null, "The first line on the file must be an integer");
}

while (inputFile.hasNext())
{
    corpusFileString = corpusFileString + inputFile.nextLine() + " ";
}
而不是

numberWords = Integer.parseInt(inputFile.nextLine());

我对java没有把握。在尝试使用
nextInt()
阅读之前,可能需要调用
hasNext()
。这就是.NET阅读器和枚举器的工作方式。在c#中,我会写以下内容

numberWords = inputFile.nextInt();
你可以试试看

while (reader.MoveNext()) {
    string s = reader.Current;
}

这看起来更像Java而不是C#。这似乎不是相关的代码部分。向我们展示
扫描器
类的代码。@OlivierJacot Descombes扫描器是一个内置Java类。问题是Java,而不是C。我认为问题与文件处理有关。既然他已经更改了标签;-)
if (inputFile.hasNext()) {
    numberWords = inputFile.nextInt();
}