Socorro nao consigo ler um simples TXT

8 respostas
rbroz85

Boa tarde amigos…
nunca pensei que fosse perguntar isso…
mas nao consigo ler um txt !!!

seguinte… ler eu estou lendo… mas ele ta vindo pra minha aplicação sem acentos e ç, pensei q o problema era no linux durante o salvamento no banco de dados…
mas o problema esta na leitura do arquivo txt (windows / linux)

no arquivo contem scrito “caminhão” e na minha leitura sai assim “Caminh�o”

bem estou tentando ler assim:

public List<String[]> ler(){ List<String[]> insumoList = new ArrayList<String[]>(); FileInputStream stream = null; try { stream = new FileInputStream(jTextField1.getText()); InputStreamReader streamReader = new InputStreamReader(stream); BufferedReader reader = new BufferedReader(streamReader); String line = null; while ((line = reader.readLine()) != null) { insumoList.add(line.split(";")); System.out.println(line); } } catch (IOException ex) { Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex); } finally { try { stream.close(); } catch (IOException ex) { Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex); } } return insumoList; }

ou assim:

public List<String[]> ler2() {
        File file = new File(jTextField1.getText());
        List<String[]> insumoList = new ArrayList<String[]>();
        String str = "";
        BufferedReader in;
        try {
            in = new BufferedReader(new FileReader(file),1*1024*1024);
            while (in.ready() == true) {
                str = in.readLine();
                if (!str.isEmpty()) {
                    insumoList.add(str.split(";"));
                    System.out.println(str);
                }
            }
        } catch (FileNotFoundException ex) {
            ex.printStackTrace();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        return insumoList;
    }

o que estou errando ?
alguem poderia me ajudar porfavor ??

8 Respostas

bsl.lacerda

Não sei não mas pode ter a ver com o encoding configurado no seu banco.
Qual é o banco que vc está usando?
Tenta ler o txt sem recuperar do banco pra ver se o problema desaparece.
Salva o txt em um local qualquer da máquina depois lê e vê qual é…
Se sumir é o encoding do banco.

rbroz85

entao… estou fazendo o teste isolado do banco
e continua persistindo o erro !

ja tentei esse linha:
InputStreamReader streamReader = new InputStreamReader(stream,“UTF-8”);

mas mesmo assim nao funcionou…

rbroz85

achei a resposta pelo google… e caiu aki no guj

http://www.guj.com.br/posts/list/129892.java

entoa no linux utilizo o UTF-8 mesmo

Obrigado ae gente

leoramos

Troca o UTF-8 por ISO-8859-1, passei por isso ontem hehe

fdettoni

rbroz85:
entao… estou fazendo o teste isolado do banco
e continua persistindo o erro !

ja tentei esse linha:
InputStreamReader streamReader = new InputStreamReader(stream,“UTF-8”);

mas mesmo assim nao funcionou…

E o charset do arquivo é UTF mesmo? No linux é bem comum a utilização de arquivos codificados em ISO-8859-1.

rbroz85

onde no linux (ubuntu) usar o ISO-8859-1 ???

leoramos

Não, rbroz85, foi isso que eu quis dizer:

InputStreamReader streamReader = new InputStreamReader(stream,"ISO-8859-1");
fdettoni

Geralmente os editores te dão a opção de escolher como salvar. E em qualquer distro você pode escolher qual usar por padrão. Mas por não usar ubuntu, não sei qual o padrão dele.

Criado 26 de agosto de 2009
Ultima resposta 26 de ago. de 2009
Respostas 8
Participantes 4