我写了一个使用sftp-client的应用程序。
在main方法中,我正在调用一个从sftp服务器下载文件的方法。下载文件后,程序仍在运行。我怎么能阻止它?
public static void main(String[] args) {
downloadFile();
}
答案 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;
}