Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java从远程位置读取文件_Java - Fatal编程技术网

使用java从远程位置读取文件

使用java从远程位置读取文件,java,Java,我对用java从远程(在我们的网络中)位置读取文件的方法有些怀疑。我正在从windows计算机上开发一个简单的java应用程序,我能够通过以下方式访问驻留在unix计算机上的远程文件: File fileToRead=new File(new URI(file:////192.168.0.27/export/myFile.txt)) 使用kubuntu开发的同一个应用程序,我的同事无法访问该文件。我得到FileNotFoundException 有什么问题吗 更新1 我想使用jcfis来解决我

我对用java从远程(在我们的网络中)位置读取文件的方法有些怀疑。我正在从windows计算机上开发一个简单的java应用程序,我能够通过以下方式访问驻留在unix计算机上的远程文件:

File fileToRead=new File(new URI(file:////192.168.0.27/export/myFile.txt))
使用kubuntu开发的同一个应用程序,我的同事无法访问该文件。我得到FileNotFoundException

有什么问题吗

更新1 我想使用jcfis来解决我的问题,但是在这个cas中,应用程序将在windows上而不是linux上工作?

EDIT:OP已经指定了他想要使用的协议。这个答案无法使用上述协议,因此不再有效。 请改用URL对象:

URL url = new URL("http://someaddress.com/somefile.txt");
使用此URL,您可以打开InputStream:

InputStream is = url.openStream();
你可以用BufferedReader来读

BufferedReader br = new BufferedReader(new InputStreamReader(is));
编辑:如果可以使用HTTP下载该文件,那么这将很好地工作

完整代码:

URL url = new URL("http://someaddress.com");
InputStream is = url.openStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
// You can read lines like this
String line = br.readLine();

如果您使用的是FTP或HTTP,则可以直接使用@alphpirit的答案。否则,您可以使用
java.net.Socket
并实现您自己的协议(这比使用FTP或HTTP更容易,您需要在另一台机器上运行
java.net.ServerSocket

编辑:您说过希望使用JCFIS,因为它可以在Windows和Linux上运行,但JRE也可以使用。

我用以下方法解决了使用库的问题

SmbFile fileToRead= new SmbFile(smb://192.168.0.27/export/myFile.txt);

这在开发环境(Windows和Linux)中都适用。

首先,可能“文件:”不正确。如果文件是远程的,则需要“ftp:”或“http:”或其他协议。其次,我猜您还需要一个
套接字
类,而不是
文件
。Windows可能默认使用Samba/CIFS访问该文件,而kubuntu没有
文件的处理程序://
协议。请参阅关于文件的问题:URL:这假设http是打开该文件的可行协议。很可能不是。在我的例子中,URL=newURL(“)可能会变成URL=newURL(”file://192.168.0.27/export/myFile.txt))@IanMcLaird我已经在帖子中添加了你的评论。OP没有指定特定的协议,所以我做了一个假设。@Skizzo尝试一下,但您需要告诉我们有关可以使用什么协议传输文件的更多信息。如果没有,则good luck.jcifs不推荐使用。请参阅更新的jcifs ng: