Мне скопировали файл в одном компьютере, и я должен получить доступ к файлу от другого компьютера. Я не уверен, который протокол или который технология использовать для этого? Предоставьте мне любые подсказки для этого..
Я использую 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 папку также.
] Существует множество способов доступа к файлам на удаленных машинах, но практически все они зависят от того, была ли настроена удаленная машина в первую очередь на предоставление файла. Если вы имеете доступ к файлам через java, то самым простым способом, вероятно, будет настройка HTTP-сервера на удаленной машине (это довольно легко сделать с помощью HTTP-сервера Apache на различных платформах), а затем с помощью HTTPClient Apache Commons на java-приложении на стороне клиента. Дальнейшее обсуждение того, как их установить или настроить, обычно выходит за рамки переполнения стека и требует, по крайней мере, более конкретного вопроса[
].Поделитесь каталогом и получите доступ к файлу через 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;
HTTP является опцией. Однако, если это машины с Windows в одной локальной сети, будет проще открыть каталог на удаленной машине через файловый ресурс и получить доступ к файлу через обычный путь к файлу. Аналогично, если это Unix-подобные машины, вы можете использовать обычный путь к файлу, если используете NFS. FTP - это еще один вариант.
Сначала можно попробовать смонтировать этот путь, а потом загрузить его. Сделайте :
subst x: \\192.168.1.157
а затем:
File f = new File("x:\\home\\renjith\\picture.jpg");
Image image = ImageIO.read(f)
Он должен работать.
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