Fallo al escribir Propertie dentro de Archivos de Programa uzando Java

Iniciado por rommel360, Octubre 29, 2018, 07:51:42 PM

Tema anterior - Siguiente tema

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

Octubre 29, 2018, 07:51:42 PM Ultima modificación: Noviembre 05, 2018, 01:24:55 PM por rommel360
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
package cargarNuevosMedicamentosSigho;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import java.util.Properties;

import javax.swing.JOptionPane;

public class propertie extends Properties{

private InputStream propertiesStream;

public propertie() {
try
{
//File f = new File("/tt/configuracionConexion.properties");
//FileOutputStream out = new FileOutputStream( "configuracion/configuracionConexion.properties" );
//propertiesStream = new FileReader(("configuracion/configuracionConexion.properties"));
//propertiesStream = ClassLoader.getSystemResourceAsStream(( "configuracion/configuracionConexion.properties" ) );
load( new FileReader( "configuracion/configuracionConexion.properties" ));
//load( propertiesStream );
/*ClassLoader myCL = propertie.class.getClassLoader();
            load(
                myCL.getResourceAsStream(
                    "srcs/configuracionConexion.properties"));*/
}
catch (FileNotFoundException e)
{
JOptionPane.showMessageDialog( null, "EL ARCHIVO CONFIGURACI\u00D3N CONEXI\u00D3N NO SE ENCUENTRA \n" + e.getMessage(), "ERROR", JOptionPane.ERROR_MESSAGE );
System.exit( 1 );
}
catch (IOException e)
{
JOptionPane.showMessageDialog( null, "EL ARCHIVO CONFIGURACI\u00D3N CONEXI\u00D3N PUEDE ESTAR CORRUPTO \n" + e.getMessage(), "ERROR", JOptionPane.ERROR_MESSAGE );
System.exit( 1 );
}
}

public void cerrarProperties()
{
try
{
propertiesStream.close();
}
catch (IOException e)
{
JOptionPane.showMessageDialog( null, "FALLO AL CERRAR EL ARCHIVO CONFIGURACI\u00D3N CONEXI\u00D3N \n" + e.getMessage(), "ERROR", JOptionPane.ERROR_MESSAGE );
System.exit( 1 );
}
}

public String[] getValoresProperties()
{
String[] valores = new String[ 5 ];

valores[ 0 ] = getProperty("servidor.nombre");
valores[ 1 ] = getProperty("servidor.puerto");
valores[ 2 ] = getProperty("servidor.base_datos");
valores[ 3 ] = getProperty("servidor.usuario");
valores[ 4 ] = getProperty("servidor.password");

return valores;
}

public void setValoresProperties( String... valores)
{
setProperty("servidor.nombre", valores[ 0 ] );
setProperty("servidor.puerto", valores[ 1 ] );
setProperty("servidor.base_datos", valores[ 2 ] );
setProperty("servidor.usuario", valores[ 3 ] );
setProperty("servidor.password", valores[ 4 ] );
}

public void salvarValores()
{
try
{
//File f = new File(getClass().getResource("configuracionConexion.properties").toURI());
        OutputStream out = new FileOutputStream( "configuracion/configuracionConexion.properties" );
//store(new FileOutputStream( f ) ,"un comentario");
store( out,"un comentario" );
}
catch (IOException e)
{
JOptionPane.showMessageDialog( null, "FALLO AL ESCRIBIR EL ARCHIVO CONFIGURACI\u00D3N CONEXI\u00D3N \n" + e.getMessage(), "ERROR", JOptionPane.ERROR_MESSAGE );
System.exit( 1 );
}
}
}



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