Alterar arquivo com java.io

Ola pessoal. Preciso alterar um arquivo e naum estou conseguindo achar uma solução. Tenho uma lista, e a partir do que tem dentro dela me gera um arquivo. Entaum, quando eu remover alguma coisa desta lista, é preciso remover de dentro do arquivo tbm. Pensei em apagar o arquivo inteiro e gera -lo novamente somente com o que contem dentro da lista, no entanto, conforme fiz abaixo , naum me gera erro nenhum, mas tbm naum altera o arquivo. I agora, sera que preciso fazer de outra forma, ou sera que ha uma solução deste jeito?

// setando a localização do arquivo .xml
					File arquivo = new File("C:/FDDK/runtime-EclipseApplication/Extrator/src/"
							+ FreeDecisionWizardPage2.getCliente()     + "/"
							+ FreeDecisionWizardPage2.getFabricante()  + "/"
							+ FreeDecisionWizardPage2.getProduto()     + "/"
							+ FreeDecisionWizardPage2.getAreanegocio() + "/"
							+ FreeDecisionWizardPage2.Extrator() + ".xml"); 	

					//deletando o arquivo .xml quando não tiver nenhum item dentro da lista
					if (lista.getItemCount()  == 0){  
						arquivo.delete();	
					}
					//se a lista tiver mais de um elemento, gera um novo arquivo
					if (lista.getItemCount() != 0){
						//arquivo.delete();
					// rescrevendo o arquivo  
						writer.write(" <Connection name=" + '"' 
						    		+ FreeDecisionWizardPage2.getCliente() + "."
							        + FreeDecisionWizardPage2.getFabricante() + "." 
								    + FreeDecisionWizardPage2.getProduto() + "."
							 	    + "shared.dbs." +  novoTeste.getBanco() + '"' 
								    + " jdbcDriver=" + '"' + novoTeste.getDriver() + '"' + " " );
						writer.write("jdbcUrl=" + '"' + novoTeste.getURL()
								+ '"' + " jdbcUser=" + '"'+ novoTeste.getUsuario() + '"' + " " );
						writer.write("jdbcPassword=" + '"' + novoTeste.getSenha() + '"' +
								" schemaName=" + '"' + " " + novoTeste.getSchema() + " " + '"' 
								+ " readOnly=" + '"' + novoTeste.getRead() + '"'
								+ " cacheSize=" + '"' + novoTeste.getCache() + '"'  + "/>"   + "\n");
						writer.close(); 
						
						//OBS: novoTeste = (ModelLista novoTeste = new ModelLista(Banco , Driver , URL , Usuario , Senha , Schema , Cache , Read); 	)