在lunix环境下如果访问其他服务器从指定目录下载文件存放在自己服务器指定位置?
时间: 2024-03-11 16:49:16 浏览: 79
在Linux环境下,你可以使用`scp`命令从其他服务器下载文件并将其存储在本地服务器上。你可以在Java代码中使用`Runtime.getRuntime().exec()`方法来执行该命令。以下是示例代码:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class FileDownload {
public static void main(String[] args) {
String remoteServer = "remote.server.com";
String remoteFilePath = "/path/to/remote/file";
String localFilePath = "/path/to/local/file";
String command = "scp " + remoteServer + ":" + remoteFilePath + " " + localFilePath;
try {
Process process = Runtime.getRuntime().exec(command);
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
int exitCode = process.waitFor();
if (exitCode == 0) {
System.out.println("File downloaded successfully.");
} else {
System.out.println("File download failed.");
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
```
在这个示例中,我们使用了`scp`命令从远程服务器下载文件,并将其存储在本地服务器上。你需要替换示例中的`remoteServer`、`remoteFilePath`和`localFilePath`为你自己的值。你可以通过调用`process.getInputStream()`方法来获取命令执行的输出,通过调用`process.waitFor()`方法来等待命令执行完成并获取其退出码。
阅读全文