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

Abrir archivo en red

Estas en el tema de Abrir archivo en red en el foro de Java en Foros del Web. Hola gente, logro abrir un archivo de word en mi pc local con esto: Código: try{ Runtime r = Runtime.getRuntime(); URI uri = new File("D:\\letras ...
  #1 (permalink)  
Antiguo 17/05/2012, 13:56
 
Fecha de Ingreso: agosto-2011
Mensajes: 20
Antigüedad: 12 años, 8 meses
Puntos: 1
Abrir archivo en red

Hola gente, logro abrir un archivo de word en mi pc local con esto:

Código:
try{
	    		Runtime r = Runtime.getRuntime();

	    		URI uri = new File("D:\\letras músicas\\So while I.docx").toURI();

	    		String ruta = "c:/Archivos de programa/Microsoft Office/Office12/winword.exe "+uri;

	        	Process p = r.exec(ruta);

	    	}catch (IOException e1)
	        {
	            e1.printStackTrace();
	        }
El tema es que quisiera saber como podria hacer lo mismo pero con un archivo que esta en otra pc en la red, intente asi, pero no funciona:

Código:
URI uri = new File("\\\\192.168.1.2\\D:\\letras músicas\\So while I.docx").toURI();
Tambien probe asi:

Código:
URI uri = new File("http:\\192.168.1.2\\D:\\letras músicas\\So while I.docx").toURI();
El 192.168.1.2 es la ip de mi pc local, pero igual deberia funcionar, gracias de antemano.
  #2 (permalink)  
Antiguo 17/05/2012, 14:31
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Abrir archivo en red

¿Las carpetas destino son compartidas y públicas?
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 17/05/2012, 14:44
Avatar de caruizj  
Fecha de Ingreso: marzo-2012
Ubicación: Málaga
Mensajes: 161
Antigüedad: 12 años, 2 meses
Puntos: 14
Respuesta: Abrir archivo en red

Primero intenta que puedas llegar a ese PC correctamente.

Prueba a hacer ping a 192.168.1.2 en terminal y que te de respuesta.

Luego ve a tu equipo y en la barra de dirección pon \\192.168.1.2 te deberá pedir un credencial, una contraseña que tenga autorización para entrar.



Llegados a este punto puedes contactar y ver a tu equipo. Si cuando entras no ves ninguna carpeta, queda que hacer lo que comenta Xerelo.

Un saludo.
__________________
Aprendiendo un poco de Java :D
  #4 (permalink)  
Antiguo 17/05/2012, 15:25
 
Fecha de Ingreso: agosto-2011
Mensajes: 20
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Abrir archivo en red

Hola, logre acceder sin problemas a la otra pc, abrir el archivo accediendo por mis sitios de red y todo mas, pero esta bien codigo que escribo arriba?, gracias por las respuestas.
  #5 (permalink)  
Antiguo 17/05/2012, 17:33
 
Fecha de Ingreso: mayo-2012
Ubicación: Leon, Mexico
Mensajes: 1
Antigüedad: 12 años
Puntos: 0
Respuesta: Abrir archivo en red

Hola rglk666.

Por que no pruebas esto, haber si te funciona:

package pruebaarchivo;

import java.io.File;
import java.awt.Desktop;
import java.io.IOException;

/**
*
* @author Arnulfo Manríquez Arenas
*/
public class PruebaDesktop
{
public static void main(String[] args) throws IOException
{
Desktop desktop = Desktop.getDesktop();
File archivo = new File("\\\\192.168.174.1\\ArchivosCompartidos\\doc. pdf");

if (desktop.isSupported(Desktop.Action.OPEN))
{
desktop.open(archivo);
}
}
}

Saludos, espero te funcione.
  #6 (permalink)  
Antiguo 18/05/2012, 13:12
 
Fecha de Ingreso: agosto-2011
Mensajes: 20
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Abrir archivo en red

Hola, lo estaba probando asi:

Código:
Desktop desktop = Desktop.getDesktop();
				File archivo = new File("\\\\192.168.1.4\\D:\\Mi música Nº 1\\CAPÍTULO.doc");
				
				try {
					if(desktop.isSupported(Desktop.Action.OPEN))
					{				
						if(archivo.exists()){
							desktop.open(archivo);
						}else{
							System.out.println("no existe el archivo");
						}
					}
				} catch (IOException e1) {
					e1.printStackTrace();
				}
Pero siempre me dice que el archivo no existe, de hecho el ip que le pongo es el IP de mi PC local, pero igual deberia funcionar supongo, o tiene que ser el red si o si?, si le quito el if(archivo.exists()), el la consola me dice The file: \\192.168.1.4\D:\Mi música Nº 1\CAPÍTULO.doc doesn't exist., gracias.
  #7 (permalink)  
Antiguo 19/05/2012, 20:56
Avatar de zero0097  
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 14 años
Puntos: 69
Respuesta: Abrir archivo en red

al poner la IP te manda a la carpeta de documentos compartidos y si luego le pones D:\ pues no existe esa ruta, trata moviendo el archivo a la carpeta publica...
__________________
De nada, hay te encargo +1...
  #8 (permalink)  
Antiguo 21/05/2012, 14:46
 
Fecha de Ingreso: agosto-2011
Mensajes: 20
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Abrir archivo en red

Hola gente, logre abrir el archivo asi:

Código:
Desktop desktop = Desktop.getDesktop();
			File archivo = new File("\\\\192.168.1.4\\ZY\\g1.pdf");
		
			try {
				if(desktop.isSupported(Desktop.Action.OPEN))
				{				
					desktop.open(archivo);
				}
			} catch (IOException e1) {
				e1.printStackTrace();
			}
Pero cuando la carpeta o archivo tiene un espacio, no abre, ya le probe poniendo en los espacios %20 pero igual no abre, gracias por las respuestas, de repente alguien sabe como resolver eso.
  #9 (permalink)  
Antiguo 21/05/2012, 15:00
 
Fecha de Ingreso: agosto-2011
Mensajes: 20
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Abrir archivo en red

Encontré la solución en esta página:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6780505

Con estas funciones ya funciona:

Código:
Here is a workaround
  //launch file
  public void launchFile(File file)
  {
    if(!Desktop.isDesktopSupported()) return;
    Desktop dt = Desktop.getDesktop();
    try
    {
      dt.open(file);
    } catch (IOException ex)
    {
      //this is sometimes necessary with files on other servers ie \\xxx\xxx.xls
      launchFile(file.getPath());
    }
  }
  
  //this can launch both local and remote files
  public void launchFile(String filePath)
  {
    if(filePath == null || filePath.trim().length() == 0) return;
    if(!Desktop.isDesktopSupported()) return;
    Desktop dt = Desktop.getDesktop();
    try
    {      
       dt.browse(getFileURI(filePath));
    } catch (Exception ex)
    {
      ex.printStackTrace();
     }
   }

  //generate uri according to the filePath
  private URI getFileURI(String filePath)
  {
    URI uri = null;
    filePath = filePath.trim();
    if(filePath.indexOf("http") == 0 || filePath.indexOf("\\") == 0)
    {
      if(filePath.indexOf("\\") == 0) filePath = "file:" + filePath;
      try
      {
        filePath = filePath.replaceAll(" ", "%20");
        URL url = new URL(filePath);
        uri = url.toURI();
      } catch (MalformedURLException ex)
      {
        ex.printStackTrace();
      }
      catch (URISyntaxException ex)
      {
        ex.printStackTrace();
      }
    }
    else
    {
      File file = new File(filePath);
      uri = file.toURI();
    }
    return uri;
  }
Luego es sollo llamar a la funcion y pasarle el parametro:

Código:
launchFile("\\\\192.168.1.4\\carpeta con espacios\\archivo con espacios.pdf");
Tal vez le sirva a alguien, gracias.

Etiquetas: programa, red, string
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 03:17.