Ayuda con un programa de java

Hola a todos, soy algo nuevo en esto de la programacion y tengo que entregar un programa a mi maestra el cual tengo que ingresar el nombre de unos libros, numero de serie y guardarlos en un .txt, de hay lo que tengo que hacer es desde el txt que el usuario ingrese el numero de serie del libro y lo encuentre en el txt mencionado, al encontrarlo tengo que hacer que edite el nombre del libro, tambien borrar el "libro" del txt con solo ingresar el numero de serie del mismo. Les agradeceria mucho si me ayudan porque de este programa dependo de no irme a clases de regu en verano XD. PD esto es lo que llevo de mi codigo:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author Leonel
*/
public class pedirDatos {

public void almacenarDatos() throws IOException {
int x, numeroSerie;
JTextArea salida = new JTextArea();
String cadSalida = "";

FileWriter fw=new FileWriter("datos.txt");
PrintWriter sal=new PrintWriter (fw);

x = Integer.parseInt(JOptionPane.showInputDialog(null, "¿Cantidad de libros? ", "¿Cuantos?", JOptionPane.QUESTION_MESSAGE));
for(int i=0; i