我想从位于不同位置的服务器读取文件。
我有服务器的IP,用户名和密码。
如何在java中读取文件?
答案 0 :(得分:2)
您可以创建本地FTP服务器并将远程文件读取为类似
的字节数组try {
URL url = new URL("ftp://localhost/myDir/fileOne.txt");
InputStream is = url.openStream();
ByteArrayOutputStream os = new ByteArrayOutputStream();
byte[] buf = new byte[4096];
int n;
while ((n = is.read(buf)) >= 0)
os.write(buf, 0, n);
os.close();
is.close();
byte[] data = os.toByteArray();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
通过Http
读取二进制文件URL url = new URL("http://q.com/fileOne.txt");
InputStream is = url.openStream();
答案 1 :(得分:0)
您应该只使用scp。
,而不是使用Java如果需要从Java执行此操作,您始终可以将scp命令形成为字符串并将其传递给Runtime.getRuntime.exec()。 (但是请注意源代码中的密码。)