2011-07-07 49 views
0

我想从位于不同位置的服务器读取文件。如何从Java中的另一台服务器读取文件?

我有一个IP,服务器的用户名和密码。

我如何读取java中的文件?

+0

这取决于您要使用的协议。这是一个FTP启用的服务器吗?这是一个Web服务器?还要别的吗? – 01es

+0

[Java:什么是从服务器上SFTP文件的最佳方式]可能的重复(http://stackoverflow.com/questions/14617/java-what-is-the-best-way-to-sftp-a -file-from-a-server) –

+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();

0

二进制文件而不是使用Java,你应该只使用scp。

如果需要从Java执行此操作,则始终可以将scp命令作为字符串形式并将其传递给Runtime.getRuntime.exec()。 (尽管如此,请注意源代码中的密码。)

+0

但是这将在JVM之外执行。 –

相关问题