我正在尝试使用java FileInputStream
读取局域网中的文件。在本地主机地址相同的机器上一切正常。但在局域网中的另一台计算机上,它看不到我的文件,我只得到java.io.FileNotFoundException
。我的部分代码:
File pipe = new File("\\127.0.0.1\SharedFolder\pipe");
FileInputStream fis = new FileInputStream(pipe);
int i=-1;
while((i=fis.read())!=-1){
System.out.print((char)i);
}
因此,如果我将地址更改为创建共享文件夹的LAN地址,并且尝试从同一LAN网络中的另一台计算机访问它,它将无法工作。SharedFolder是一个windows共享文件夹,拥有所有用户的所有权限,其中包含管道文件。java
中是否与c#
、NamedPipesServerStream
和NamedPipesClientStream
类似?
我不想使用windows管道,因为我希望我的应用程序同时在unix和windows上运行,所以我想我可以只使用文件。而且我不想使用插座。
还有下一个问题。有可能在互联网上做同样的事情吗?
所以我没有找到任何与管道相关的java库,但找到了一个用于文件操作的库https://jcifs.samba.org/.这样我就可以模拟原始管道了。它可以在windows和linux上完成。