Sistema de correio com Arquivo texto

Fala galera, blz?
Estou tendo problemas pra conseguir resolver esse algoritmo.
O processo de funcionamento é simples tenho q ler um arquivo e comparar a cidade de origem com o arquivo texto pra descobrir o menor caminho até um certo destino.
Mas ele está dando erro quando tento armazenar a cidade que foi dada como entrada.

O formato do arquivo é o seguinte
RJ/SP/700
RJ/VITORIA/500
VITORIA/SP/400
SP/BH/200
BH/VITORIA/2000
BH/RJ/1000

Teria q comparar a cidade de entrada pra saber qual o menor caminho até o destino sem repetir a cidade.

public class Leitura {

    public void arquivo() throws FileNotFoundException, IOException {
        String saida= "";
        String out = "";
        int peguei = 0;
        File arq = new File("C:\\TEMP\\arquivo.txt");
        BuscaCidade bc = new BuscaCidade();
        try {
            FileReader filereader = new FileReader(arq);
            BufferedReader bufferedreader = new BufferedReader(filereader);
            List<String> imprime = new ArrayList<String>();

            String linha = "";

            while (bufferedreader.ready()) {
                linha = linha + bufferedreader.readLine() + "\n";
            }
            filereader.close();
            bufferedreader.close();

            imprime = Arrays.asList(linha.split("/"));
     

            for (int i = 0; i < imprime.size(); i++) {
                saida = saida + imprime.get(i) + "\n";
                if(bc.origem.equals(saida)){
                    //peguei = i ;
                    out = bc.origem;
                }
               
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println(out);


    }


}