Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/11/2008, 04:58
juankarnet
 
Fecha de Ingreso: agosto-2008
Mensajes: 57
Antigüedad: 15 años, 9 meses
Puntos: 0
Modificar un fichero .properties en Struts

Hola, mi problema está al trabajar con un fichero de configuración donde almaceno Login=password de los usuarios de mi aplicacion(clave=valor).
Para sacar la información accediendo al fichero ya he encontrado la solución y me funciona, lo malo es a la hora de acceder al fichero para modificarlo,(introducir nuevos users o modificar contraseñas). He mirado mucho por internet pero no he encontrado nada concreto que me sirva.
Al final he decidido guardar el fichero de configuracion en Web-inf/usuarios con el nombre de usuarios.properties y trabajo desde una clase en mi estructura de clases.

Lo he intentado con rutas absolutas y relativas, acceso con File y directamente, pero en ninguno de los casos me deja acceder al fichero dentro de la estructura de struts(Solo lo consegui creando el fichero fuera...). Pongo el codigo actual que uso, aunque no funciona :(

Código PHP:
public class PropiedadesUsers {

       private 
String ficheroParametros "../usuarios/usuarios.properties";
...
//Aqui cargo el fichero properties
public PropiedadesUsers() {

           
InputStream is=Thread.currentThread().getContextClassLoader().getResourceAsStream(ficheroParametros);
               try {
                   
prop.loadis );     // Cargo propiedades desde InputStream
            
}
               catch (
IOException e) {
                   
mensajeError = new String("Mensaje de error: " e.toString() );
           }
       }

//Aqui saco los valores por la clave, defecto en caso de que no la encuentre...

public String getParametro(String claveString defecto) {
              
String retorno defecto;
              try {
             
retorno prop.getProperty(clavedefecto);
              }
              catch (
Exception e) {
             
retorno defecto;
              }
              
finally {
             return 
retorno;
              }
           }
//Esto es lo que no me funciona, asi que evidentemente estará mal xD
//se supone que es donde intento modificar el file usuarios.properties, pero 
//siempre me da error al intentar acceder, me pone que no encuentra la ruta, o
// que no es una fichero, ruta o directorio valido

       
public void setParametro(String claveString password){

           
File f=new File(ficheroParametros);
           
System.out.println(f.getAbsolutePath());
           
FileOutputStream outnull;
           
prop.setProperty(clavepassword);

           try {
               
out = new FileOutputStream(f);
               
prop.store(out"Usuarios/claves");
           } catch (
IOException e) {
               
e.printStackTrace();
           }
       } 
El problema es al acceder con la ruta relativa, ya que al crear el fichero me lo crea en c:. El println me muestra esto:
D:\Archivos de programa\EasyEclipse Server Java 1.2.2.2\..\usuarios\usuarios.properties

Lo cual no tiene muy buena pinta

Lo he probado de alguna manera más, pero esta es la última con la que estaba.
Si alguién sabe como puede hacerse, agradecería mucho que me indicase como..
1 saludo y gracias