Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.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 从unix写入windows网络共享_Java_Networking_Share - Fatal编程技术网

Java 从unix写入windows网络共享

Java 从unix写入windows网络共享,java,networking,share,Java,Networking,Share,下面的代码在windows下的eclipse中工作得很好: public static void main(String[] args) { try { String filePath = "\\\\myserver\\dir"; String fileName = "myFile.txt"; FileWriter myFileWriter = new FileWriter(filePath + File.separator +

下面的代码在windows下的eclipse中工作得很好:

public static void main(String[] args) 
{
    try
    {
        String filePath = "\\\\myserver\\dir";
        String fileName = "myFile.txt";
        FileWriter myFileWriter = new FileWriter(filePath + File.separator + fileName); 
        BufferedWriter myBufferedWriter = new BufferedWriter(myFileWriter);
        myBufferedWriter.write("test");
        myBufferedWriter.close();       
    }
    catch (Exception e) 
    {
        e.printStackTrace();
    }
}
现在,我想从同一网络中的unix计算机上运行此代码。程序运行,但不写入我的文件或引发异常。有IDE吗


干杯,因为在Unix/Linux中这不是正确的路径

String filePath = "\\\\myserver\\dir";
我建议检查这样的路径是否存在,99%的可能性是您没有创建它们的权限。差不多吧

字符串filePath=“/usr/xx/”

正在创建文件夹:

File temp = new File("temp");
boolean test = temp.mkDir();

如果目标unix计算机安装了Samba,您可能希望尝试以下库:

不过,您需要用户名和密码

try {
        String filePath = "myserver/dir";
        String fileName = "myFile.txt";
        String user = "username";
        String password = "password";
        // URL: smb://user:passwd@host/share/filname
        SmbFileOutputStream out = new SmbFileOutputStream("smb://" + user + ":" + password + "@" + filePath
                + File.separator + fileName);
        out.write("test".getBytes());
        out.close();
    } catch (Exception e) {
        e.printStackTrace();
    }

如果服务器配置为SMB服务器,这也适用于windows计算机作为目标。

我想了这么多-我如何解决这个问题?在*nix下,只有当且仅当您具有sudo访问权限时,才能创建这样的文件夹结构,这在企业界是不允许的。因此,只需检查需要在何处创建该共享。问题是该共享位于第三台unix计算机上,这是完全独立的。一定有办法像windows一样访问此共享吗?@Tim,没有钥匙,你无法打开储物柜。很简单。如果您拥有密钥(sudo)权限,您将能够。如果没有,你就不能创建。无论如何,我更新了关于如何创建目录的帖子,试试看。