Leitura de dados em arquivos

Boa tarde galera. Estou com o seguinte problema:

Consigo ler uma linha de um arquivo utiizando o método ReadLine

        FileReader ler = new FileReader(arquivo);
        BufferedReader buf = new BufferedReader(ler);
        String letra;
        letra = buf.readLine();         
        System.out.println(letra);

Preciso saber o seguinte:
–Como eu faço para ler todas as linhas do arquivo
–Como eu faço para ler só algumas linhas escolhidas no arquivo
–Como eu marco uma determinada posição no arquivo que foi lida
–Como faço verificar um determinados dados dentro de uma variável String que recebeu um ReadLine (Achar uma palavra por exemplo).
–Como eu faço pra gravar esta String em um outro arquivo

Eu li alguns métodos no API do JAVA, mas estou tendo dificuldades para coloca-los em prática. Acho que preciso de um exemplo.

Muito grato

Antônio

por falta d tempo…Aqui vai um pedaço de comparação de uma palavra com uma arquivo pra contar quantas vezes a palavra aparece…


do { 
    c = reader.read(); //Lê caracter por caracter
    if (c != -1) { 
        //System.out.println((char) c); 
        if (i<palavra.length() && ((char)c == palavra.charAt(i))){ 
               i++; 
               if (i==palavra.length() ){ 
                     cont++; 
                     i=0; 
               } 
        } 
        else{ 
               i=0; 
        } 
    } 
} while (c != -1); 

acha um topico no java avançado sobre isso (Manipulando arquivo texto)que tem mais uns pedaços(eu acho)…

String linha=null;
while((linha=obj.readLine())!=null)
{
System.out.println(linha);
}
obj.close();