2012-05-02 13 views
10

tengo este problema raro, cuando usoLa lectura de un archivo a través de una ruta de red

File FileToRead = new File("\\\\MYSERVER\\MYFOLDER\\MYFOLDER\\MYPICTURE.JPG"); 

para leer un archivo a través de una red, lo único que consigue es una excepción de puntero nulo. Normalmente, una ruta local funciona con esto, pero cuando estoy en una ruta de red, simplemente no puedo lograr que funcione. ¿Algunas ideas?

PD: Ah, y mi conexión de red parece funcionar, no hay problemas al acceder a datos en el Explorador de Windows ...

Más del código:

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)); 
+0

Supongo que tiene algo que ver con el caso. ¿Es tu camino completo exactamente de esa manera, en mayúsculas? Windows no distingue entre mayúsculas y minúsculas. Java no necesita ser. – adarshr

+0

¿Se puede publicar el código que realmente causa el error o los resultados en una referencia nula? La línea que enumeró nunca debe ser nula en ninguna plataforma Java. – maerics

+0

¿Está seguro de que su referencia UNC apunta a * compartir * y no a una carpeta, por ejemplo, \\\\ MYSERVER \\ SHARENAME \\ FOLDER \\ FOLDER \\ MYPICTURE.JPG. Si la segunda parte de su ejemplo anterior es realmente un nombre de carpeta, no un recurso compartido, la referencia no se resolverá. –

Respuesta

6

sólo tiene que especificar la ruta del archivo como URI:

File FileToRead = new File(new URI("file://MYSERVER/MYFOLDER/MYFOLDER/MYPICTURE.JPG")); 

EDITAR nota de que esa cadena es un URI! No puede contener espacios, por lo que debe reemplazarlos por "% 20" para que funcione.

+0

Lo intenté y obtuve: javax.imageio.IIOException: ¡No se puede leer el archivo de entrada! :( – Sin5k4

+0

@ Sin5k4 puede publicar la ruta del archivo aquí? La exacta que utiliza, si es posible. –

+0

la ruta es: String filepath = "archivo: \\\\ DOKSERVICE \\ Dokumaortak \\ ProductImage \\" + generatefilename + " .JPG ";?? ¿el – Sin5k4

Cuestiones relacionadas