Ajuda com File

Bom galera, comecei meu programa para popular um banco, fiz primeiramente apenas o programa para ler o arquivo e depois irei fazer a conecção com o banco, apenas para ver o desempenho.

        try{

        File f = new File("Local");

        if ( f.exists() ){

                FileReader fr = new FileReader( f );
                BufferedReader leitor = new BufferedReader(fr);
                String linha;
                        do{
                                linha = leitor.readLine();
                                if (linha != null){
                                        String[] teste = linha.split("\t");
                                        for(int i=0; i<teste.length; i++)//Apenas uma impressão, depois irei adicionar ao banco em vez de dar um println()
                                            System.out.print(teste[i]);
                                        System.out.println();
                                } 	
                    }while(linha!=null);
                        leitor.close();
                }	
        }
        catch(IOException ex){
                System.out.println("Problema ao iniciar o arquivo");
        }

Teria como implementar algum StringBuilder nesse meu código para cosneguir um melhor desempenho?
Alguém mais experiente poderia dizer se tem algo para ser feito para poder melhorar o código? Não quero que façam o dever de casa, podem apenas dizer o que pode ser feito que o como será feito eu corro atraz, não tem problema.

Bom, desde de já obrigado.

Segundo Martin Folwer seu codigo precisa ser refatorado

# f (linha != null){  
#                                 String[] teste = linha.split("\t");  
#                                 for(int i=0; i<teste.length; i++)//Apenas uma impressão, depois irei adicionar ao banco em vez de dar um println()  
#                                     System.out.print(teste[i]);  
#                                 System.out.println();  
#                         }     
#             }while(linha!=null);  
#                 leitor.close();  

nao fazia usado essa estrutura nao… refatorava essa parte… criando um metodo para essa tarefa…

flw!

    public static void getTabela(){
        try{

        File f = new File("Local");

        if ( f.exists() ){

                FileReader fr = new FileReader( f );
                BufferedReader leitor = new BufferedReader(fr);
                String linha;
                        do{
                                linha = leitor.readLine();
                                quebrarLinha(linha);	
                    }while(linha!=null);
                        leitor.close();
                }	
        }
        catch(IOException ex){
                System.out.println("Problema ao iniciar o arquivo");
        }
    }
    public static void quebrarLinha(String linha){
        if(linha!=null){
            String[] vetor = linha.split("\t");
            popularBanco(vetor);
        }
    }
    public static void popularBanco(String[] vetor){
        for(int i=0; i<vetor.length; i++)
            System.out.print(vetor[i]);
        System.out.println();
    }

Desta forma? Claro que em vez de imprimir no popularBanco() eu iria adicionar a uma tabela em um banco.

Se alguém ainda tiver alguma opinião ou dica para dar, estou aceitando hehe.