dúvida properties

0 respostas
cu_ringa

nesse código alguem poderia me dizer pq, qnd coloco essa linha

props.store(fos, "");

fora do for os dados no arquivo properties são sobrescrito(atualizados) e qnd coloco dentro do for como está, fica comportando-se erroneamente duplicando os dados.

public void persistir(Planta planta, Map mapa, Properties props) throws IllegalAccessException,
								InvocationTargetException, IOException {
		
		Class p = planta.getClass();		
		HttpServletRequest req = (HttpServletRequest)mapa.get(HttpServletRequest.class);
		
		FileOutputStream fos = new FileOutputStream(new File("C://Documents and Settings//bernardino//workspace//casa_virtual/mapacasa.properties"));
		
		for(Method m : p.getMethods()){			
			if(m.getName().startsWith("set")){
				String nomeParametro = m.getName().substring(3).toLowerCase();
				String valorParametro = req.getParameter(nomeParametro);				
				if(valorParametro != null){					
					//Class classe[] = m.getParameterTypes();					
					if(!props.getProperty(nomeParametro).equals(valorParametro)){
						props.setProperty(nomeParametro, valorParametro);											
						props.store(fos, "");						
					}															
				}				
			}
		}
		//props.store(fos, "");
		fos.close();
	}

sentro do for

#
#Fri Jul 28 01:59:23 BRT 2006
sala=0
banheiro=0
quartosuite=1
cozinha=1
suite=0
Casa.acao=app.CasaMapa
quarto=1
ApartamentoDAOImpl.acao=app.ApartamentoDAOImpl
#
#Fri Jul 28 01:59:23 BRT 2006
sala=1
banheiro=0
quartosuite=1
cozinha=1
suite=0
Casa.acao=app.CasaMapa
quarto=1
ApartamentoDAOImpl.acao=app.ApartamentoDAOImpl

fora do for

#
#Fri Jul 28 01:59:23 BRT 2006
sala=1
banheiro=0
quartosuite=1
cozinha=1
suite=0
Casa.acao=app.CasaMapa
quarto=1
ApartamentoDAOImpl.acao=app.ApartamentoDAOImpl
Criado 28 de julho de 2006
Respostas 0
Participantes 1