从远程pc读取文件,其中目录包含用户名和密码验证

时间:2015-04-20 10:34:40

标签: java

我可以从远程pc写一个文本文件,其中包含一个没有任何身份验证的共享文件夹。但是当我尝试从具有身份验证的共享文件夹中读取文件时,它无法读取文件。实际的文件位置是

url : 10.11.201.45
Drive : D
username :BELY
password : BELY-du
file location : D://Share_BELY/bb/txt.

这是我的代码:

    // The name of the file to open.
    String fileName = "//10.11.201.45/D$/Share-BELY/BELY:BELY-du@/bb.txt";

    String line = null;
    try {
        // FileReader reads text files in the default encoding.
        FileReader fileReader = new FileReader(fileName);
        // Always wrap FileReader in BufferedReader.
        BufferedReader bufferedReader = new BufferedReader(fileReader);
        while((line = bufferedReader.readLine()) != null) {
            System.out.println(line);
        }    
        // Always close files.
        bufferedReader.close();            
    }
    catch(FileNotFoundException ex) {
        System.out.println("Unable to open file '" + fileName + "'");                
    }
    catch(IOException ex) {
        System.out.println("Error reading file '" + fileName + "'");                   
        // Or we could just do this: 
        // ex.printStackTrace();
    }

2 个答案:

答案 0 :(得分:2)

使用JCIFS库,我们可以实现这一目标。

示例代码:

        NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("domain", "username", "password");
        SmbFile smbFile = new SmbFile("//path", auth);
        InputStream in;
        if (smbFile.exists()) {
            in = smbFile.getInputStream();
        }

答案 1 :(得分:1)