文件从Windows操作系统传输到Java中的unix

时间:2011-03-22 06:46:14

标签: java ftp cross-platform

我在运行时创建了一个pdf文件(在Windows操作系统中)。我需要将它复制到另一个位置,它可能在UNIX或Windows上。有没有我可以用它做的java类?如何?感谢。

2 个答案:

答案 0 :(得分:5)

URL url = 
    new URL("ftp://username:password@ftp.localhost/file.pdf;type=i");
URLConnection con = url.openConnection();
BufferedInputStream in = 
    new BufferedInputStream(con.getInputStream());
FileOutputStream out = 
    new FileOutputStream("C:\\file.pdf");

int i = 0;
byte[] bytesIn = new byte[1024];
while ((i = in.read(bytesIn)) >= 0) {
    out.write(bytesIn, 0, i);
}
out.close();
in.close();

答案 1 :(得分:0)

如果将文件放在FTP服务器的目录空间(在Windows计算机上),则可以在删除客户端上的Java应用程序中使用URLConnection来获取它。有关示例代码,请参阅@Mohamed Saligh的答案。 (关键是使用“ftp:”URL,并强制传输类型为二进制。)

其他可能有用的资源包括Apache Commons FTP Client libraryApache Mina FTP server。 FTP客户端库允许您将文件“推送”到Windows / UNIX上的FTP服务器...以及将其“拉”为URLConnection

根据某个着名的搜索引擎,有各种其他Java FTP客户端,服务器和库“浮在互联网周围”...... - 。