Чтение файла по сетевому пути
У меня есть эта странная проблема, когда я использую
File FileToRead = new File("\\\\MYSERVER\\MYFOLDER\\MYFOLDER\\MYPICTURE.JPG");
чтобы прочитать файл по сети, все, что я получаю, это исключение нулевого указателя. Обычно с этим работает локальный путь, но когда я находился в сети, мне просто не удавалось заставить его работать. Есть идеи?
PS: о, и мое сетевое подключение, кажется, работает, никаких проблем при доступе к данным в проводнике 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"));
РЕДАКТИРОВАТЬ обратите внимание, что эта строка является URI! Он не может содержать пробелы, поэтому вы должны заменить их на "%20", чтобы он работал.