我有简单的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”。
由于 拉吉
答案 0 :(得分:0)
Java无法本机打开跨CIFS共享的文件。您必须使用客户端库。 JCIFS似乎是事实上的标准。 Apache Commons Virtual File System也支持这一点。这两个标签都在SO:jcifs和apache-commons-vfs。
答案 1 :(得分:0)
此示例可能有所帮助,这是使用VFS使用SFTP协议从远程系统检索文件的基本示例。将检索与指定正则表达式匹配的文件。