Boa Noite,
Se já foi aberto algum post com esta duvida peço desculpa, mas tive a procura e não encontrei nada.
Estou com problemas a receber o output do process numa jtextarea, receber recebo mas só no fim do processo eu queria receber a medida que fosse correndo linha por linha
Você quer ler linha por linha após o usuário terminar de digitar ?
Ou quer que a cada “Enter” que ele dê a linha seja lida ?
G
GuilhermeG
estou a fazer um programa para converter de flv para avi, e queria que depois que o usuário carregasse no botão aparecesse todo o output no jtextarea linha por linha
Grato:)
CrOnNoS
Não sei dessa Process, mas se o problema for só ler uma JTextArea linha por linha segue um exemplo:
publicclassNadaextendsJFrame{privatestaticfinallongserialVersionUID=1L;privateJTextAreatextArea=newJTextArea();publicNada(){setSize(250,150);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);add(textArea,BorderLayout.CENTER);JButtonbutao=newJButton("Ler Linha Por Linha");add(butao,BorderLayout.SOUTH);butao.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){Stringtexto=textArea.getText();StringTokenizerlinhas=newStringTokenizer(texto,"\n");while(linhas.hasMoreTokens())JOptionPane.showMessageDialog(null,linhas.nextToken());}// actionPerformed});// butao ActionListenersetVisible(true);}// construtoepublicstaticvoidmain(String[]args){newNada();}// main}// class
Sendo que a classe StringToknizer separa uma String em "tokens" delimitados pela String que é passada ao construtor (nesse exemplo coloquei o /n que creio que não funciona em qualquer SO)
Ela também corresponde a usar o método split da classe String, como muitos eu costumo usar ela mas não sei realmente falar as diferenças importantes.
Exemplo com split:
Não é isso. Ele quer ler a saída de um processo e ir jogando num JTextArea. Você deve ler o stream do processo numa thread separada. E, a medida que os dados chegarem, joga-los para o JTextArea.
Infelizmente, não tenho nenhum exemplo aqui. Vou ver se monto um e te mando.
G
GuilhermeG
muito obrigado Vini ficarei a espera
Grato
ViniGodoy
Bom. Está aí o exemplo. Deixei a classe que observa o InputStream do processo separada, para que você possa reutilizar no seu projeto.