Я пытаюсь записать тестовый файл (в моем приложении для Android) в общий ресурс SMB на сервере Windows 2008.Если путь, в который я пытаюсь записать, включает имя подпапки (например, «smb: //192.168.1.25/D/mysubfolder» - где D - это имя общего ресурса для диска D удаленного компьютера), то операция работаетхорошо.Однако, если имя подпапки не указано, я получаю исключение UnknownHostException при попытке записать файл в общую папку.Поэтому я получаю исключение UnknownHostException для обоих следующих путей:
smb: //192.168.1.25/D/
smb: //192.168.1.25/myfoldershare (где myfoldershare - это имя общего ресурса длявложенная папка на диске D)
Все перечисленные выше имена общих ресурсов имеют одинаковые разрешения, настроенные на хосте (полный контроль для всех).Почему я всегда получаю UnknownHostException, если я не добавляю имя подпапки к пути?
Я пробовал различные варианты разрешений на узле SMB, но теперь прибегнул к «Полному управлению» для всех общих ресурсов.что я пытаюсь получить доступ.Я пытался записывать в одни и те же общие папки (используя те же учетные данные для входа), используя приложение Solid Explorer на том же устройстве Android.У меня нет проблем с записью в любой из «проблемных» общих ресурсов.
String testPathRootDest = "smb://192.168.1.25/myfoldershare/";
try {
SmbFile newFolder = new SmbFile(testPathRootDest, testAuth);
if (!newFolder.canWrite()) {
return "NotWritable";
}
// Finally, try writing a test file
String testFilePath = testPathRootDest + "test.txt";
SmbFile testFile = new SmbFile(testFilePath, testAuth);
SmbFileOutputStream out = new SmbFileOutputStream(testFile);
String text = "File Upload Test";
out.write(text.getBytes());
out.flush();
out.close();
// Delete test file
testFile.delete();
} catch (IOException e) {
System.out.println(e.getMessage());
errorMessage = e.toString();
e.printStackTrace();
if (errorMessage.contains("UnknownHostException")) {
return "UnknownHostException";
} else {
return "IOException";
}
} catch (Exception e) {
System.out.println(e.getMessage());
errorMessage = e.toString();
e.printStackTrace();
return "IOException";
}
Я ожидаю, что команда «new SmbFile» завершится без ошибок, но она возвращает UnknownHostException, если мне не удается добавить имя папкина путь