如何读取本地存储在网络计算机上的文件?

时间:2014-12-15 09:23:29

标签: java

我正在使用NetBeans创建一个java Web应用程序。我使用的其中一个模块需要解析本地存储在网络中的计算机上的xml文件,但是到达这些文件的最佳方法是什么?

我偶然发现了SO的各种线程有几个解决方案(SFTP,FTP,NFS,HTTP),但我无法弄清楚哪种最适合我的情况。

我们有一个所有Linux操作机器的网络,我可以通过ssh到达远程机器,因此知道它的IP地址。

ps我们不允许将文件存储在共享文件夹中:(

2 个答案:

答案 0 :(得分:2)

首先连接到远程计算机。我更喜欢Jsch。以及连接和传输文件到我在下面给出的本地机器的代码。阅读和删除文件猜测应该是容易的工作! :)

    public static void main(String[] args) {
   String username = "your username";
   String host = "192.*.*.*";
   String pass = "password";

   JSch jsch = null;
   Session session = null;
   Channel channel = null;
   ChannelSftp c = null;
   try {
       jsch = new JSch();
       System.out.println("Setting Up SFTP Connection...");
       session = jsch.getSession(username, host, 22);
       session.setPassword(pass);
       System.out.println("SFTP Configration Complete..!");  
       java.util.Properties config = new java.util.Properties();
       config.put("StrictHostKeyChecking", "no");
       session.setConfig(config);
       System.out.println("Attempting to Connect..!"); 
       session.setConfig("PreferredAuthentications","publickey,keyboard-interactive,password");
       session.connect();
       System.out.println("Session Connected."); 
       channel = session.openChannel("sftp");
       channel.connect();

       System.out.println("Channel Connected."); 
       c = (ChannelSftp) channel;
       System.out.println("Connection Established\n");
               } catch (Exception e) { 
       e.printStackTrace(); 
       }



   try {

     String SourceFolderPath= "/hta1/home/pinDap75a/DestinationDemo/YOURFILE.XML";
     String Destiantion = "C:/Users/Documents/";

       System.out.println("Starting Downlaod...");
       c.get(SourceFolderPath, Destiantion);

       System.out.println("File Transfer Complete! \n");
   } 

   catch (Exception e) {    e.printStackTrace();    }

   c.disconnect();
   session.disconnect();
}}

答案 1 :(得分:0)

我建议您在允许的情况下使用FTP或SFTP相应地读取文件。以下是你应该做的步骤,他们可能会更多。

  • 导入一些有用的库。
  • 使用FTP / SFTP连接服务器。
  • 下载所需文件。
  • 阅读您的文件。
  • 删除文件。 (推荐)

参见示例FTP / SFTP