ViniGodoy 16 de fev. de 2007
Dê uma olhada nas classes:
RandomAccessFile e FileChannel.
Elas permitem que você altere um arquivo.
Agora no caso do .properties, não é mais fácil carrega-lo com a classe Properties, alterar a propriedade e depois salva-lo novamente?
davidhc 16 de fev. de 2007
ViniGodoy:
Dê uma olhada nas classes:
RandomAccessFile e FileChannel.
Elas permitem que você altere um arquivo.
Agora no caso do .properties, não é mais fácil carrega-lo com a classe Properties, alterar a propriedade e depois salva-lo novamente?
Hm, pode ser…não sabia da existencia dessa classe … vou procurar algo a respeito!
Eu estava chegando perto…eu só não conseguia acessar a linha e alterar rsrs
Com a classe Properties, eu consigo aletrar os valores do arquivo?
Por exemplo, está:
procurar=1
Eu posso alterar o 1 pra 0?
ViniGodoy 16 de fev. de 2007
Pode! Aliás, acho que é o jeito mais fácil. Basta usar o método setProperty:
Deve ficar algo mais ou menos assim (talvez você deva tratar algumas exceções e fechar os streams, mas a idéia básica é essa):
File destino = new File ( "seuarquivo.properties" );
Property properties = new Property ();
properties . load ( new FileInputStream ( destino ));
properties . setProperty ( "procurar" , "0" );
properties . save ( new FileOutputStream ( destino ), "" );
Mais informações no Javadoc da classe:
http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html#setProperty(java.lang.String,%20java.lang.String)
davidhc 16 de fev. de 2007
public class Arquivo {
public static void main ( String [] args ) {
String valor = "joao" ;
File file = new File ( "david.properties" );
Properties prop = new Properties ();
FileInputStream in = null ;
file . canWrite ();
try {
in = new FileInputStream ( file );
prop . load ( in );
in . close ();
System . out . println ( "ok" );
} catch ( IOException e ) {
// TODO Auto-generated catch block
e . printStackTrace ();
}
prop . setProperty ( "name" , valor );
System . out . println ( prop . getProperty ( "name" ));
}
}
Está feito … caso alguém mais precise…o código acima está funcionando!
[]'s