OS: macbookчитать удаленный файл в Java
Я хочу прочитать удаленный файл на Java. Сначала я тестирую его на своем локальном компьютере.
Я пытался использовать
File
, но вы, ребята сказали мнеFile
могут быть использованы только на локальной файловой системе, спасибо.public static void main(String[] args) throws URISyntaxException { URI uri = new URI("file://127.0.0.1/Users/jian/Public/logfiles/Hadoop/hdp_log1.log"); File file = new File(uri); System.out.println(file.exists()); }
я найти библиотеку для Macbook, Samba JCIFS, по этой ссылке access to file using Java with Samba JCIFS. Вот мой код:
public static void main(String[] args) throws URISyntaxException, MalformedURLException, SmbException { NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("","jian", "ywnk"); SmbFile smbFile = new SmbFile("smb://127.0.0.1/Users/jian/Public/logfiles/Hadoop/hdp_log1.log",auth); System.out.println(smbFile.exists()); }
Тогда я получил эту ошибку:
Исключение в потоке «основного» jcifs.smb.SmbAuthException: Ошибка входа в систему: неизвестное имя пользователя или пароль.
имя пользователя совпадает с тем, что я запустил who am i
в терминале, а пароль - мой пароль для входа. Я не знаю, почему я ошибаюсь в ошибке имени пользователя или пароля.
Спасибо, что помогли вашим парням.
Помогает ли это: http://stackoverflow.com/questions/11724576/read-remote-file-in-java-which-needs-username-and-password? Чтобы сделать файл с файлом, кажется, вам нужно скопировать его на локальный диск. – Crine
Взгляните на [эту ссылку] (http://www.rfc-base.org/txt/rfc-3986.txt).Он содержит информацию о компоненте полномочий uri. В основном, 'hostname: port' формирует компонент полномочий. – nickspol
Я не уверен, что компонент полномочий означает точно, но похоже, что это может быть проблема разрешения. –