Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Fallo al escribir Propertie dentro de Archivos de Programa uzando Java

  • 0 Respuestas
  • 891 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado rommel360

  • *
  • Underc0der
  • Mensajes: 37
  • Actividad:
    5%
  • Reputación 1
    • Ver Perfil
« en: Octubre 29, 2018, 07:51:42 pm »
hice una palicacion en JAva que lee un archivo propertie que esta dentro de la carpeta de Archivos de Programa (x86) alli esta mi Archivo Jar una imgen tipo ICO y una carpeta de nombre Configuracion que contiene el Propertie a Leer



este Archivo Propertie que guarda la configuración de una conexión hacia una base de datos en SQL Server 2008 esta dentro de la carpeta configuración



Ahora la aplicacion Java debe de leer dicho archivo para cargar la configuracion en la venta que se llama Configuracion.

Pero a la hora de leerlo aparece el error que no tengo acceso



Como puedo hacer para que no salga eso.

Espero haberme explicado bien.

Aqui mi codigo en Java para leer un Archivo Propertie

Código: Java
  1. package cargarNuevosMedicamentosSigho;
  2.  
  3. import java.io.FileNotFoundException;
  4. import java.io.FileOutputStream;
  5. import java.io.FileReader;
  6. import java.io.IOException;
  7. import java.io.InputStream;
  8. import java.io.OutputStream;
  9.  
  10. import java.util.Properties;
  11.  
  12. import javax.swing.JOptionPane;
  13.  
  14. public class propertie extends Properties{
  15.  
  16.         private InputStream propertiesStream;
  17.        
  18.         public propertie() {
  19.                 try
  20.                 {
  21.                         //File f = new File("/tt/configuracionConexion.properties");
  22.                         //FileOutputStream out = new FileOutputStream( "configuracion/configuracionConexion.properties" );
  23.                         //propertiesStream = new FileReader(("configuracion/configuracionConexion.properties"));
  24.                         //propertiesStream = ClassLoader.getSystemResourceAsStream(( "configuracion/configuracionConexion.properties" ) );
  25.                         load( new FileReader( "configuracion/configuracionConexion.properties" ));
  26.                         //load( propertiesStream );
  27.                         /*ClassLoader myCL = propertie.class.getClassLoader();
  28.             load(
  29.                 myCL.getResourceAsStream(
  30.                     "srcs/configuracionConexion.properties"));*/
  31.                 }
  32.                 catch (FileNotFoundException e)
  33.                 {
  34.                         JOptionPane.showMessageDialog( null, "EL ARCHIVO CONFIGURACI\u00D3N CONEXI\u00D3N NO SE ENCUENTRA \n" + e.getMessage(), "ERROR", JOptionPane.ERROR_MESSAGE );
  35.                         System.exit( 1 );
  36.                 }
  37.                 catch (IOException e)
  38.                 {
  39.                         JOptionPane.showMessageDialog( null, "EL ARCHIVO CONFIGURACI\u00D3N CONEXI\u00D3N PUEDE ESTAR CORRUPTO \n" + e.getMessage(), "ERROR", JOptionPane.ERROR_MESSAGE );
  40.                         System.exit( 1 );
  41.                 }
  42.         }
  43.        
  44.         public void cerrarProperties()
  45.         {
  46.                 try
  47.                 {
  48.                         propertiesStream.close();
  49.                 }
  50.                 catch (IOException e)
  51.                 {
  52.                         JOptionPane.showMessageDialog( null, "FALLO AL CERRAR EL ARCHIVO CONFIGURACI\u00D3N CONEXI\u00D3N \n" + e.getMessage(), "ERROR", JOptionPane.ERROR_MESSAGE );
  53.                         System.exit( 1 );
  54.                 }
  55.         }
  56.        
  57.         public String[] getValoresProperties()
  58.         {
  59.                 String[] valores = new String[ 5 ];
  60.                
  61.                 valores[ 0 ] = getProperty("servidor.nombre");
  62.                 valores[ 1 ] = getProperty("servidor.puerto");
  63.                 valores[ 2 ] = getProperty("servidor.base_datos");
  64.                 valores[ 3 ] = getProperty("servidor.usuario");
  65.                 valores[ 4 ] = getProperty("servidor.password");
  66.                
  67.                 return valores;
  68.         }
  69.        
  70.         public void setValoresProperties( String... valores)
  71.         {
  72.                 setProperty("servidor.nombre", valores[ 0 ] );
  73.                 setProperty("servidor.puerto", valores[ 1 ] );
  74.                 setProperty("servidor.base_datos", valores[ 2 ] );
  75.                 setProperty("servidor.usuario", valores[ 3 ] );
  76.                 setProperty("servidor.password", valores[ 4 ] );
  77.         }
  78.        
  79.         public void salvarValores()
  80.         {
  81.                 try
  82.                 {
  83.                         //File f = new File(getClass().getResource("configuracionConexion.properties").toURI());
  84.                 OutputStream out = new FileOutputStream( "configuracion/configuracionConexion.properties" );
  85.                         //store(new FileOutputStream( f ) ,"un comentario");
  86.                         store( out,"un comentario" );
  87.                 }
  88.                 catch (IOException e)
  89.                 {
  90.                         JOptionPane.showMessageDialog( null, "FALLO AL ESCRIBIR EL ARCHIVO CONFIGURACI\u00D3N CONEXI\u00D3N \n" + e.getMessage(), "ERROR", JOptionPane.ERROR_MESSAGE );
  91.                         System.exit( 1 );
  92.                 }
  93.         }
  94. }
  95.  


Lo raro que si lo compilo para 64 bits  lo guardo en Archivos de Programa no en de Archivos de Programa (X86) el programa si funciona bien, este error de Acceso denegado solo me pasa si la compilo para 32bits para guardarlo en la carpeta Archivos de Programa( X86 )


Pos que instalo una maquina virtual e instalo windows 7 de 32 bits, luego instalo el jdk de 32 bits y pego la carpeta de mi proyecto compilado con el JDK de 64 bits en Archivos de Programa y pos que si funciona jajajajaja
« Última modificación: Noviembre 05, 2018, 01:24:55 pm por rommel360 »

 

¿Te gustó el post? COMPARTILO!



Comprobar que se va a utilizar X archivo y no el archivo Z [Java]

Iniciado por r00t_access

Respuestas: 3
Vistas: 2418
Último mensaje Junio 18, 2015, 08:27:14 pm
por Gus Garsaky
Java - Funcionamiento del método "compareTo"

Iniciado por Zepovop

Respuestas: 3
Vistas: 2885
Último mensaje Enero 17, 2017, 10:59:02 pm
por seth
Ayuda Java (Salta lectura de teclado "consola")

Iniciado por AroonVa

Respuestas: 2
Vistas: 1319
Último mensaje Octubre 26, 2018, 04:36:58 pm
por AroonVa
Ayuda, recuperar archivos en "memoria interna "

Iniciado por polo93

Respuestas: 0
Vistas: 1862
Último mensaje Septiembre 27, 2013, 08:05:04 am
por polo93
[SOLUCIONADO] mover automáticamente archivos c/nombre X a carpeta c/nombre X?

Iniciado por clavo25

Respuestas: 7
Vistas: 3096
Último mensaje Enero 27, 2015, 10:13:50 pm
por cnfs