通过Windows环境中运行的java程序读取Linux服务器上的文件

时间:2014-02-25 20:51:19

标签: java linux windows eclipse core

我有简单的Java程序,它读取文件并在eclipse工具中将其写入我的控制台。我
 尝试执行相同的java程序来读取远程Linux服务器上的文件。请帮助我如何实现它?

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;

public class Test {     
public static void main(String[] args){
    String path = "C:/tmp"; 
    String file = "java2502201411.txt"; 
      try
      {
      FileInputStream in = new FileInputStream(path + "/" + file);
      BufferedReader br = new BufferedReader(new InputStreamReader(in));
      String strLine; 
      while((strLine = br.readLine())!= null)
      {
       System.out.println(strLine);
      }
      }catch(Exception e){
       System.out.println(e);
      } 
   }  
}

我可以从网络中的其他Windows环境调用文件。对于Eg:我正在尝试在我的Windows网络上读取文件,例如usmnp1804终端。 String path =“// usmnp1804 / C $ / tmp”。以类似的方式我试图在Linux服务器上读取文件,但它没有按预期工作,收到错误,例如File not found Exception。我怀疑如我的java程序无法打到Linux服务器路径。请帮忙。 String path =“/ home / jctadm / tmp”。

由于 拉吉

2 个答案:

答案 0 :(得分:0)

Java无法本机打开跨CIFS共享的文件。您必须使用客户端库。 JCIFS似乎是事实上的标准。 Apache Commons Virtual File System也支持这一点。这两个标签都在SO:

答案 1 :(得分:0)

此示例可能有所帮助,这是使用VFS使用SFTP协议从远程系统检索文件的基本示例。将检索与指定正则表达式匹配的文件。

http://wiki.apache.org/commons/SimpleSftpFileDownload