Java程序仍在运行。怎么停?

时间:2014-02-17 11:21:39

标签: java

我写了一个使用sftp-client的应用程序。

在main方法中,我正在调用一个从sftp服务器下载文件的方法。下载文件后,程序仍在运行。我怎么能阻止它?

public static void main(String[] args) {
    downloadFile();
}

4 个答案:

答案 0 :(得分:0)

System.exit(0)方法内完成下载后使用downloadFile()

Sidenote :确保在执行此操作之前处置资源并关闭缓冲区。

答案 1 :(得分:0)

您能否显示downloadFile()方法的代码。如果该方法有一些io流,则关闭并刷新它们。之后,您可以调用System.exit()。但请记住,一旦调用System.exit(),它将不会恢复执行。我认为分享你的downloadFile()方法定义会更好,因为在那个方法中肯定有一些错误,这就是为什么它不返回并退出执行。

答案 2 :(得分:0)

这是我的downloadfile()代码。我正在使用zehon库。

public static int downloadFile() { //upload do serwera SFTP
            String sftpFolder = "/Kursy"; 
            String nameOfFile = "Kursy.txt"; 
            String toLocalFolder = "C:/DATA/work_dir"; 
            int status = -1;  
            String test=null;
            if (localfileExists()<sftpfileExists()) {
                try { 
                    SFTPClient sftpClient = new SFTPClient("127.0.0.1", "test", "test");  //polaczenie do servera SFtp              

                status = sftpClient.getFile(nameOfFile, sftpFolder, toLocalFolder); 
                 System.out.println("downloaded");
                } catch (Exception e) { 
                e.printStackTrace(); 
                }

            } else {
                 System.out.println("Daty sa takie same");
            }

            return status;

        }

答案 3 :(得分:0)

您可以尝试使用布尔值。

public static boolean downloadFile() {

  if(statement){
   //when it works or finish the process that u want
           return true;

  }

  return true;

  }