Чтение файла по сетевому пути

У меня есть эта странная проблема, когда я использую

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", чтобы он работал.

Другие вопросы по тегам