Чтение файла по сетевому пути
У меня есть эта странная проблема, когда я использую
File FileToRead = new File("\\\\MYSERVER\\MYFOLDER\\MYFOLDER\\MYPICTURE.JPG");
чтобы прочитать файл по сети, все, что я получаю, это исключение нулевого указателя. Обычно локальный путь работает с этим, но когда по сетевому пути я просто не мог заставить его работать. Любые идеи?
PS: oh и мое сетевое подключение, похоже, работает, никаких проблем при доступе к данным в проводнике Windows...
Больше кода:
File FileToRead = new File("file://DOKSERVICE/Somefolder/ProductImage/01001.JPG");
//File FileToRead = new File("c:\\dog.jpg"); local test
BufferedImage image = ImageIO.read(FileToRead);
BufferedImage resizedimage = new BufferedImage(260, 260,BufferedImage.TYPE_INT_RGB );
Graphics2D g = resizedimage.createGraphics();
g.drawImage(image, 0, 0, 260, 260, null);
g.dispose();
picture.setIcon(new ImageIcon(image));
Ответы
Ответ 1
Просто укажите путь к файлу как URI:
File FileToRead = new File(new URI("file://MYSERVER/MYFOLDER/MYFOLDER/MYPICTURE.JPG"));
EDIT обратите внимание, что эта строка является URI! Он не может содержать пробелы, поэтому вам нужно заменить их "%20", чтобы заставить его работать.