局域网和互联网上的java命名管道



我正在尝试使用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#NamedPipesServerStreamNamedPipesClientStream类似?

我不想使用windows管道,因为我希望我的应用程序同时在unix和windows上运行,所以我想我可以只使用文件。而且我不想使用插座。

还有下一个问题。有可能在互联网上做同样的事情吗?

所以我没有找到任何与管道相关的java库,但找到了一个用于文件操作的库https://jcifs.samba.org/.这样我就可以模拟原始管道了。它可以在windows和linux上完成。

相关内容

  • 没有找到相关文章

最新更新