Fallo al escribir Propertie dentro de Archivos de Programa uzando Java

  • 0 Respuestas
  • 949 Vistas

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

Desconectado rommel360

  • *
  • Underc0der
  • Mensajes: 38
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
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 »

 

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

Iniciado por r00t_access

Respuestas: 3
Vistas: 2569
Último mensaje Junio 18, 2015, 08:27:14 pm
por Gus Garsaky
[Solucionado] Java - saltar de linea en linea

Iniciado por Adalher

Respuestas: 2
Vistas: 246
Último mensaje Septiembre 25, 2019, 11:30:21 pm
por ronluas
Java - Funcionamiento del método "compareTo"

Iniciado por Zepovop

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

Iniciado por AroonVa

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

Iniciado por polo93

Respuestas: 0
Vistas: 1924
Último mensaje Septiembre 27, 2013, 08:05:04 am
por polo93