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

[SOLUCIONADO] Problema al crear un new File(path)

Estas en el tema de Problema al crear un new File(path) en el foro de Java en Foros del Web. Hola, estoy teniendo un problema al crear un objeto file desde un path que leo desde un archivo properties. En el properties tengo lo siguiente: ...
  #1 (permalink)  
Antiguo 03/05/2016, 08:05
 
Fecha de Ingreso: febrero-2015
Ubicación: Distrito Federal
Mensajes: 37
Antigüedad: 3 años, 3 meses
Puntos: 1
Problema al crear un new File(path)

Hola, estoy teniendo un problema al crear un objeto file desde un path que leo desde un archivo properties.
En el properties tengo lo siguiente:

JBOSS_CERTIFICATE=‪‪C:/Users/Usuario/Documents/certificado

Mi código es el siguiente:
Código Java:
Ver original
  1. public static void main(String[] args){
  2.         Properties props = new Properties();
  3.         try {
  4.             InputStream is = new FileInputStream("C:\\Proyectos\\proyecto1\\config\\system.properties");
  5.             props.load(is);
  6.             String property = props.getProperty("JBOSS_CERTIFICATE");
  7.             File file = new File(property.replace("/", Matcher.quoteReplacement(File.separator)));
  8.             System.out.println(file.exists());
  9.         } catch (Exception ex) {
  10.            ex.printStackTrace();
  11.         }
  12.     }

En este caso siempre me marca "false" osea que el archivo no existe, sin embargo si en lugar de leer del properties yo creo el archivo así:

Código Java:
Ver original
  1. File file = new File("C:\\Users\\Usuario\\Documents\\certificado");

en este caso marca true. Y para mi es necesario leer el path desde el archivo properties. creo que tiene algo que ver con el caracter separador pero no sé como resolverlo.
Ojalá puedan ayudarme.
Saludos!!!
  #2 (permalink)  
Antiguo 03/05/2016, 08:41
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.322
Antigüedad: 3 años, 9 meses
Puntos: 182
Respuesta: Problema al crear un new File(path)

Buenas,

Si haces:

Código Java:
Ver original
  1. [...]
  2. String property = props.getProperty("JBOSS_CERTIFICATE").replace("/", Matcher.quoteReplacement(File.separator));
  3. System.out.println(property);
  4. File file = new File(property);
  5. [...]

Que valor te devuelve la consola?

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 03/05/2016, 08:51
 
Fecha de Ingreso: febrero-2015
Ubicación: Distrito Federal
Mensajes: 37
Antigüedad: 3 años, 3 meses
Puntos: 1
Respuesta: Problema al crear un new File(path)

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Buenas,

Si haces:

Código Java:
Ver original
  1. [...]
  2. String property = props.getProperty("JBOSS_CERTIFICATE").replace("/", Matcher.quoteReplacement(File.separator));
  3. System.out.println(property);
  4. File file = new File(property);
  5. [...]

Que valor te devuelve la consola?

Un saludo
La consola me devuelve lo siguiente:

‪‪C:\Users\Usuario\Desktop\certificado

claro que cambie el certificado al escritorio.
  #4 (permalink)  
Antiguo 03/05/2016, 13:35
 
Fecha de Ingreso: julio-2015
Mensajes: 85
Antigüedad: 2 años, 10 meses
Puntos: 4
Respuesta: Problema al crear un new File(path)

Ferdave1904, el Inputstream necesita como parametro de entrada un objeto, si metes directamente tu ruta como hacias no lo encuentra porque tu ruta no es un file, pero me diras, si no me da error al compilar: eso es porque recibe un object y un string es un object por eso no peta en la compilacion pero cuando intenta manejarlo no puede manejarlo como un file u otro tipo de objeto que se le puede pasar en el contructor como pueda ser un socket. El file se encarga de buscar el archivo y el inputstream de leerlo si pasas simplemente la ruta no va a buscarlo y leerlo. A si que primero file con la ruta y luego al inputstream le pasas el file .
  #5 (permalink)  
Antiguo 04/05/2016, 00:28
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.322
Antigüedad: 3 años, 9 meses
Puntos: 182
Respuesta: Problema al crear un new File(path)

Cita:
La consola me devuelve lo siguiente:

‪‪C:\Users\Usuario\Desktop\certificado

claro que cambie el certificado al escritorio.
Y si en lugar de:

Código Java:
Ver original
  1. File file = new File(property);
Siendo property = ‪C:\Users\Usuario\Desktop\certificado

Haces:

Código Java:
Ver original
  1. File file = new File("C:\\Users\\Usuario\\Desktop\\certificado");

Entonces te lo encuentra? Eso no tiene ningun sentido...

Tu nombre de usuario tiene algun simbolo extrano o espacios?


Un saludo
__________________
If to err is human, then programmers are the most human of us
  #6 (permalink)  
Antiguo 09/05/2016, 10:36
 
Fecha de Ingreso: febrero-2015
Ubicación: Distrito Federal
Mensajes: 37
Antigüedad: 3 años, 3 meses
Puntos: 1
Respuesta: Problema al crear un new File(path)

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Y si en lugar de:

Código Java:
Ver original
  1. File file = new File(property);
Siendo property = ‪C:\Users\Usuario\Desktop\certificado

Haces:

Código Java:
Ver original
  1. File file = new File("C:\\Users\\Usuario\\Desktop\\certificado");

Entonces te lo encuentra? Eso no tiene ningun sentido...

Tu nombre de usuario tiene algun simbolo extrano o espacios?


Un saludo
Correcto no tiene sentido o bueno no lo tenía para mi hasta que lo resolví, resulta que al obtener la cadena imprimi carácter por carácter para ver lo que tenía y antes de "C:\\" me imprimía dos caracteres raros no visibles (yo imprimí el entero) lo único que hice fue aplicar un replace sobre esos caracteres y listo encontró el archivo.

saludos!

Etiquetas: file, path, properties
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 16:20.