Как считать файл из удаленной системы с помощью Java?

Мне скопировали файл в одном компьютере, и я должен получить доступ к файлу от другого компьютера. Я не уверен, который протокол или который технология использовать для этого? Предоставьте мне любые подсказки для этого..

Обновление:

Я использую Ubuntu система Linux. Я использовал код:

File f = new File("//192.168.1.157/home/renjith/picture.jpg");// 192.168.1.157 is the ip of the computer, where I have the picture file
Image image = ImageIO.read(f);

Но это дает исключение:

javax.imageio.IIOException: Can't read input file!
    at javax.imageio.ImageIO.read(ImageIO.java:1275)

Я совместно использовал renjith папку также.

14
задан Bill the Lizard 29 March 2011 в 12:30
поделиться

5 ответов

[

] Существует множество способов доступа к файлам на удаленных машинах, но практически все они зависят от того, была ли настроена удаленная машина в первую очередь на предоставление файла. Если вы имеете доступ к файлам через java, то самым простым способом, вероятно, будет настройка HTTP-сервера на удаленной машине (это довольно легко сделать с помощью HTTP-сервера Apache на различных платформах), а затем с помощью HTTPClient Apache Commons на java-приложении на стороне клиента. Дальнейшее обсуждение того, как их установить или настроить, обычно выходит за рамки переполнения стека и требует, по крайней мере, более конкретного вопроса[

].
9
ответ дан 1 December 2019 в 12:01
поделиться

Поделитесь каталогом и получите доступ к файлу через java-код. Попробуйте вот это:

File f = new File("//10.22.33.122/images")

File[] files = f.listFiles(new FilenameFilter() {
    public boolean accept(File dir, String name) {
        // Specify the extentions of files to be included.
        return name.endsWith(".bmp") || name.endsWith(".gif");
    }
});

// get names of the files
String[] fileNamesArray = null; 
for (int indx = 0; indx < files.length(); indx++) {
    fileNamesArray[indx] = files[indx].getName();
}

return fileNamesArray; 
0
ответ дан 1 December 2019 в 12:01
поделиться

HTTP является опцией. Однако, если это машины с Windows в одной локальной сети, будет проще открыть каталог на удаленной машине через файловый ресурс и получить доступ к файлу через обычный путь к файлу. Аналогично, если это Unix-подобные машины, вы можете использовать обычный путь к файлу, если используете NFS. FTP - это еще один вариант.

6
ответ дан 1 December 2019 в 12:01
поделиться

Сначала можно попробовать смонтировать этот путь, а потом загрузить его. Сделайте :

subst x: \\192.168.1.157

а затем:

File f = new File("x:\\home\\renjith\\picture.jpg");
Image image = ImageIO.read(f)

Он должен работать.

1
ответ дан 1 December 2019 в 12:01
поделиться

Map your IP to network drive and try let us say the drive letter is X,

then code changes to File f = new File("x:\\home\\renjith\\picture. jpg");

Предположим, что ваш файл уже загружен в объект f , попробуем распечатать значение пути f.getAbsolutePath() в консоль и посмотрим... Фактическая ошибка связана с ImageIO

-1
ответ дан 1 December 2019 в 12:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: