Alterar dado de um ficheiro Randônico

Olá galera

Estou com um problema não consigo alterar uma palavra no arquivo, exemplo nome ou apelido ou número do professor.
Consigo fazer a leitura do ficheiro mas para alterar uma palavra aí é que não consigo mesmo

o código está abaixo:


import java.io.*;
import java.util.*;
public class Cadastro{
  public static void  main(String[] args){

    
    try{
      RandomAccessFile random = new RandomAccessFile("Professor.dat","rw");
      
      
      Professor p1 = new Professor("David Pedro","Maito",3);
      Professor p2 = new Professor("Vladimeir Elenterio","Miro",7);
      Professor p3 = new Professor("Pacheco Daniel","Pacheco",1);
      
      ArrayList<Professor> lista = new ArrayList<Professor>();
      lista.add(p1);
      lista.add(p2);
      lista.add(p3);
      
         
      int j =0;  
      for(Professor element : lista){
           String linha = "Nome: "+element.getNome()+" Apelido: "+element.getApelido()+" Numero: "+element.getNumero()+"\n";
           random.write(linha.getBytes());
           j = j + 1;
        }
      
           random.close();
      
           
      
      int i;
      String nome;
      String vetor[] = new String[3];
      RandomAccessFile ler = new RandomAccessFile("Professor.dat","r");
      
      for(i =0;i<j;i++)
          System.out.println(ler.readLine());
        
        ler.close();

    
    }
    catch(IOException e){
      System.out.println("Erro");
    }
    
  
  }




}