Java Scanner无法读取

时间:2018-05-31 12:36:43

标签: java java.util.scanner

我正在尝试从远程计算机下载包含整数的文件,在本地增加整数值,将新值写入同一文件并上传文件。我用scp。它成功下载文件。我使用shell文件下载和上传进程。但我对Scanner有疑问。

以下是代码:

import java.io.*;
import java.util.*;
public class shell {
    public static void main(String[] args) throws IOException{
        Runtime.getRuntime().exec("/home/ayyuce/Desktop/download.sh");
        File f= new File("/home/ayyuce/Desktop/yeni.txt");
        PrintWriter pw = new PrintWriter(f);
        Scanner s= new Scanner(f);
        int num=0;
        if(s.hasNextLine()){
            num=s.nextInt();
        } else {
            System.out.println("Error");
        }
        int increase=num++;
        pw.println(increase);

        Runtime.getRuntime().exec("/home/ayyuce/Desktop/upload.sh");
        s.close();
        pw.close();
    }
}

输出为:Error

我想知道Scanner有什么问题。

非常感谢你!

1 个答案:

答案 0 :(得分:4)

  

PrintWriter pw = new PrintWriter(f);

来自javadoc

  

file - 要用作此writer的目标的文件。 如果   文件存在然后它将被截断为零大小; 否则,一个新的   文件将被创建。输出将被写入文件并且是   缓冲。

当然,Scanner无法读取任何内容,因为该文件在new PrintWriter(f)中被截断为零大小。