Ler e escrever em arquivo de Texto

Estou usando FileWrite para escrever em um arquivo de texto, mas tenho o seguinte problema. Como eu estou salvando como XML tenho que respeitar a tag final que no meu caso é . Resumindo, eu tenho que ler e achar a tag e escrever antes. Como eu faço para ler??

Já tentou utilizar o FileReader em conjunto com o BufferedReader?

	public static String getFileContentAsText(File file) throws IOException {
		if(file == null || !file.exists() || !file.isFile())
			throw new FileNotFoundException(file.getAbsolutePath());
		
		FileReader fr = null;
		BufferedReader br = null;
		StringBuffer sb = new StringBuffer("");
		
		fr = new FileReader(file);
		br = new BufferedReader(fr);
		
		try {
			for(String line = br.readLine(); line != null; line = br.readLine()) {
				sb.append(line + "\n");
			}
		} catch (IOException e) {
			throw new IOException("Can't read the file: " + e.getCause());
		}
		
		br.close();
		fr.close();

		return sb.toString();
	};

Pq ao invés de ler e escrever o XML na “raça” vc num usa o JDOM

http://www.jdom.org/

Valeu pelas respostas!! Vou dar uma olhada nos dois e coloco aqui os resultados.

Consegui fazer ele ler, mas minha dúvida é como eu faço a comparação pelo if??? Seria com o método equals??

Vc quer comparar um arquivo com o outro? é isso?

Em um arquivo xml tenho que achar a tag e inserir antes dela. Então eu queria ler o arquivo e através de um if comparar e inserir o texto.

Eu gostaria de saber como posso fazer ler um arquivo texto e colocar a saida dele para uma página jsp?

Pra fazer isso, a melhor alternativa é a dica do LuizClaudio. Dê uma estudada naquele link que ele passou.
Pra fazer por if, de qq forma, vc pode usar o método indexOf(String) da classe String, que te retorna a posição onde é encontrado, no String que invoca esse método, o String que foi passado por parâmetro. Por exemplo:

String code = "<bla><bleh>ono no</bleh></bla>";
System.out.println(code.indexOf("</bleh>"));
System.out.println(code.indexOf("<bla>"));
System.out.println(code.indexOf("<foo>"));

Isso aí em cima, se executado, vai mostrar na tela:

17
0
-1

o -1 indica que não foi achado o String passado por parâmetro.
Mas acho que seja melhor vc usar o JDOM

O projeto está pronto. As pesquisas e a leitura do xml está ok, só falta salvar. Se for usar JDOM tenho que mudar tudo ou não.