[Resolvido]Ordenar nomes de um txt

3 respostas
H

Boa noite pessoal, é seguinte, sou novato ainda, mas já dei umas pesquisada aqui no forum e não consegui achar uma solução.

O que eu quero é pegar nomes que criei num txt que não estão ordenados de forma alfabética, e ordena-los num outro de forma alfabética,
os arquivos txt já estão criados, mas quando rodo o programa ele não da nada, apenas aparece run e pronto, pensei que fosse do caminho na linha 15 do código, mas acontece que se mudo o caminho para, C:\Users\comp1\Documents\NetBeansProjects\OrdenaNomes\nomes.txt ele da erro.

Valeu pela ajuda.

package ordenanomes;

import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import javax.swing.JOptionPane;

public class OrdenaNomes {

    public void OrdemString() throws IOException {

        String str;
        ArrayList<String> nomes = new ArrayList<String>();

        BufferedReader in = new BufferedReader(new FileReader("C:nomes.txt"));

        while ((str = in.readLine()) != null) {
            nomes.add(str);
        }
        in.close();

        Collections.sort(nomes);

        BufferedWriter out = new BufferedWriter(new FileWriter("C:caminho.txt"));
        for (int i = 0; i < nomes.size(); i++) {
            out.write(nomes.get(i));
            out.newLine();
        }
        out.close();

        JOptionPane.showMessageDialog(null, "Fez a leitura do arquivo nome.txt e criou o arquivo conteudo.txt Ordenado");

    }
    public static void main(String[]

3 Respostas

jeffev

Já debugou para ver o que está acontecendo?

W

Você não colocou barra para determinar o caminho. Em Java, utilize “/” para caminhos ou use “\”, é a mesma coisa.

public class OrdenaNomes {

    public void OrdemString() throws IOException {

        String str;
        ArrayList<String> nomes = new ArrayList<String>();

        BufferedReader in = new BufferedReader(new FileReader("C:/nomes_origem.txt"));

        while ((str = in.readLine()) != null) {
            nomes.add(str);
        }
        in.close();

        Collections.sort(nomes);

        BufferedWriter out = new BufferedWriter(new FileWriter("C:/nomes_destino.txt"));
        for (int i = 0; i < nomes.size(); i++) {
            out.write(nomes.get(i));
            out.newLine();
        }
        out.close();

        System.out.println("Fez a leitura do arquivo nome.txt e criou o arquivo conteudo.txt Ordenado");

    }

    public static void main(String[] args) {
 
    	OrdenaNomes on = new OrdenaNomes();
    	
    	try {
			on.OrdemString();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	} 

}

wiliamps

H

Valeu Williamps deu certo. Abraços.

Criado 21 de novembro de 2012
Ultima resposta 23 de nov. de 2012
Respostas 3
Participantes 3