我可以从远程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();
}
答案 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)