Foros del Web » Programación para mayores de 30 ;) » Java »

Acceso a archivos remotos con clase File y FileInputStream

Estas en el tema de Acceso a archivos remotos con clase File y FileInputStream en el foro de Java en Foros del Web. Cordial Saludo Actualmente tengo una aplicación en JAVA SE la cual funciona de forma local y accede a determinados archivos en mi equipo con Windows ...
  #1 (permalink)  
Antiguo 10/12/2011, 09:39
 
Fecha de Ingreso: marzo-2009
Ubicación: Cali (Valle) - Colombia
Mensajes: 164
Antigüedad: 10 años, 8 meses
Puntos: 2
Acceso a archivos remotos con clase File y FileInputStream

Cordial Saludo

Actualmente tengo una aplicación en JAVA SE la cual funciona de forma local y accede a determinados archivos en mi equipo con Windows 7 (aclaro no está en producción) sin ningún problema, más necesito comenzar a usar la aplicación desde otros equipos, por lo cual es necesario que el acceso a los archivos ya no sea solamente local, sino también remoto, por lo cual me veo en la necesidad de usar las clases File y FileInputStream (las cuales ya uso para el acceso a los archivos, sin problema alguno) para que estas accedan a los ficheros de forma remota, más no encuentro la manera correcta de pasar la ruta del directorio remoto al momento de instanciar estas clases:

carpeta = new File("D:\\archivos"); //Esta es la manera como instancio la clase File, para acceder al directorio de los archivos y luego traer los nombres de estos (localmente)

stream = new FileInputStream("D:\\archivos\\"+nombreArchivo2); //Esta es la manera como instancio la clase FileInputStream para luego leer cada uno de los archivos (localmente)

consulté la documentación oficial y

http://docs.oracle.com/javase/7/docs...a/io/File.html
http://docs.oracle.com/javase/7/docs...putStream.html

veo que en la clase File se habla de URL, más veo que aparece la palabra "deprecated", como refiriéndose a que está obsoleto y en la clase FileInputStream no se habla de URL's.

sin embargo intente pasar la ruta con la IP del equipo al instanciar ambas clases (ya que no se me ocurrio algo más), por lo cual el código quedó así:

carpeta = new File("192.168.93.196\\D:\\archivos");

stream = new FileInputStream("192.168.93.196\\D:\\archivos\\"+n ombreArchivo2);

más se imprime la siguiente excepción al ejecutar la aplicación por NetBeans:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at sensor.SensorDactil$1.run(SensorDactil.java:289)
at java.awt.event.InvocationEvent.dispatch(Invocation Event.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.j ava:705)
at java.awt.EventQueue.access$000(EventQueue.java:101 )
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 675)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:90)

Por lo cual me veo en la necesidad de recurrir a ustedes, ya que no se como instanciar las dos clases para acceder a los archivos de forma remota..

Postdata: Alcaro que vengo del mundo PHP, en el cual para llamar archivos remotos únicamente es necesario pasar la URL en el siguiente formato: ipequipo/ruta/archivo.extension (una vez esta "ruta" se encuentra dentro del document_root, más no sé en JAVA como se debe esto manejar ya que con JAVA SE, no creo que haya un document_root ó ¿si?).

Quedo atento a sus comentarios.

Muchas gracias.

Etiquetas: clase, clases, file, jar, netbeans, remotos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:55.