Compactador e descompactador de arquivos

Estou tentando criar um compactador, ele precisa ler um arquivo .txt e retornar o mesmo mantendo a primeira aparição de cada palavra e substituindo as repetições pelo numero da sua posição no texto
ps: sem usar arrays ou variaves globais

package compactdor;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;

public class Compactdor {

public static int buscaLinear(String v[], String linha) {
    for (int k = 0; k < v.length; k++) {
        if (x.equals(v[k])) {
            return k+1;
        }
    }
    return -1;
}

public static void main(String[] args) throws FileNotFoundException, IOException {
    String v[] = new String[1000];
    String x[];

    FileReader arquivo;
    arquivo = new FileReader("entradas.txt");
    BufferedReader ler;
    ler = new BufferedReader(arquivo);

    String linha = "";
    while (true) {
        if (linha != null) {
            for (int k = 0; k < v.length; k++) {
            v = linha.split(" ");
        
          
            }
          
        } else {
            break;
        }
        linha = ler.readLine();

    }
    ler.close();
}

}

Por favor, poste o código em vez da imagem.

Está acontecendo algum problema?

não, so não sei como prosseguir

prontinho