estou tentando pegar uma linha de um jtextarea, trata-la e depois setar de volta no textarea linha por linha alguem sabe como posso fazer isso.
jTextarea
24 Respostas
Complicaste muito na explicacao. Felizardo Chagauala(Maputo,Maçambique). :?: 
Explica melhor o que tu ta querendo fazer!!!
Não deu pra entender 
Olá! Pessoal. Sou iniciante em JAVA e estou com um problema que talvez para vcs seja simples, mas para mim é difícil, também sei das regras do fórum que é nao repetir perguntas,
mas já olhei vários post e mesmo assim nao consegui fazer o que eu quero. Bom o meu problema é o seguinte quero abrir um arquivo txt com o JTextArea, e posteriormente quero trocar palavras por outras, mas quero trocar essas palavras a partir do espacos em branco que tenho dentro do meu arquivo. Se alguém puder me ajudar agradeco.
attt
Eu não entendi muito bem, mas parece que você quer armazenar em variável cada linha de um jtextArea, bem tenta assim então
String textArea = seuComponenteAqui.getText();
String linhas[] = textArea.split("\n");
Então por exemplo sua text area está escrita assim:
Olá, testando
JTextArea
E pulando linhas
cada linha ficará armazenada dentro da array linhas então esse será jeito que o que eu falei ficará armazenado.
linha[0] = “Olá, testando”
linha[1] = “JTextArea”
linha[2] = “E pulando linhas”
Opa desculpe postei duas vezes sem querer, cliquei em citar:p
[quote=pb600]Eu não entendi muito bem, mas parece que você quer armazenar em variável cada linha de um jtextArea, bem tenta assim então
String textArea = seuComponenteAqui.getText();
String linhas[] = textArea.split("\n");
Então por exemplo sua text area está escrita assim:
Olá, testando
JTextArea
E pulando linhas
cada linha ficará armazenada dentro da array linhas então esse será jeito que o que eu falei ficará armazenado.
i
Cara, terá que usar a lógica e percorrer todos os caracteres do jtextarea, começa do primeiro, e vai concatenando em uma nova string até achar o caracter \ antes do n (\n = enter) assim você adiciona a string e depois continua da posição onde parou até o próximo \n, isso dentro de um loop
Olá!! Consegui ler o txt por linhas, mas agora eu quero usa charAt (0) para localizar a primeira coluna e trocar po"con(", mas quando coloco para o charAT retornar da um erro. Só para lembrar que sou inciante. Obrigado quem já me ajudou.
public static void main (String [] args) throws Exception{
FileReader reader = new FileReader( new File( "c:\\arvore_solos.txt" ) );
BufferedReader leitor = new BufferedReader( reader );
String linha = null;
while( ( linha = leitor.readLine() ) != null ) {
System.out.println (linha);
}
}
o que você quer fazer com o charAt(int) ???
que erro está dando ?
como está usando
posta o código onde você usa o charAt(int)
o que você quer fazer com o charAt(int) ???
que erro está dando ?
como está usando
posta o código onde você usa o charAt(int)
Renam, esse é o código que tenho, quero trocar a primeira pocisao da linha por “cond([”, caso ela seja vazia.
public static void main (String [] args) throws Exception{
FileReader reader = new FileReader( new File( "c:\\arvore_solos.txt" ) );
BufferedReader leitor = new BufferedReader( reader );
String linha = null;
while( ( linha = leitor.readLine() ) != null ) {
if (linha.charAt(0)!= ' '){
linha.charAt(0) = "cond([";
}
}
}
Fernando, o charAt(int) retorna apenas um caracter, e não varios no caso de “cond([”
cond([ tem mais de um caracter, então você teria que fazer algo assim:
if (linha.charAt(0)!= ' '){
linha = "cond([" + linha;
}
pois o charAt não atribui uma String, e sim um char
Olá!! Pessoal, primeiramente quero agradecer pela ajuda e perguntar pq nao estou conseguindo pesquisar um char, bom eu estou precisando abrir um arquivo txt do HD, pesquisar uma posicao na linha e se nessa posicao estiver um espaco vazio trocar por “cond([”, e posteriormente salvar esse arquivo. Meu código é esse.
public static void main (String [] args) throws Exception{
FileReader reader = new FileReader( new File( "c:\\arvore_solos.txt" ) );
BufferedReader leitor = new BufferedReader( reader );
String linha = null;
FileWriter out = new FileWriter("c:\\arvore_solos11.txt");
while( ( linha = leitor.readLine() ) != null ) {
if (linha.charAt(0) != ' '){
linha = "con([" + linha;
out.write(linha);
out.close();
}
}
}
Olá!! Pessoal, primeiramente quero agradecer pela ajuda e perguntar pq nao estou conseguindo pesquisar um char, bom eu estou precisando abrir um arquivo txt do HD, pesquisar uma posicao na linha e se nessa posicao estiver um espaco vazio trocar por “cond([”, e posteriormente salvar esse arquivo. Meu código é esse.public static void main (String [] args) throws Exception{
FileReader reader = new FileReader( new File( "c:\\arvore_solos.txt" ) ); BufferedReader leitor = new BufferedReader( reader ); String linha = null; FileWriter out = new FileWriter("c:\\arvore_solos11.txt"); while( ( linha = leitor.readLine() ) != null ) { if (linha.charAt(0) != ' '){ linha = "con([" + linha; out.write(linha);
out.close();
}}}
Você quer pesquisar na linha em geral ou apenas no primeiro caracter ?
seria isso ??
linha = linha.replace(" ", "con([");
Alterei a resposta de cima!
Renan, na verdade eu terei que pesquisar em algum momento no primeiro caracter e também na linha em geral e posteriormente salva essas linhas em um novo arquivo.
Para o caracter da primeira linha estou testando : método trim()
e para linha inteira agora com tua dica o replace.
Renan, na verdade eu terei que pesquisar em algum momento no primeiro caracter e também na linha em geral e posteriormente salva essas linhas em um novo arquivo.
Para o caracter da primeira linha estou testando : método trim()
e para linha inteira agora com tua dica o replace.
agora resolveu seu problema ?

Sim o replace irá solucionar.
Uma pergunta porque o charAt nao retorna a sílaba daquela posicao quando eu uso um arquivo txt?
E também porque nao estou conseguindo salvar o novo arquivo depois que alterei as linhas?
valeu
Sim o replace irá solucionar.Uma pergunta porque o charAt nao retorna a sílaba daquela posicao quando eu uso um arquivo txt?
E também porque nao estou conseguindo salvar o novo arquivo depois que alterei as linhas?valeu
o chaAt retorna apenas 1 letra, pois é charAt significa “caracter na posição” ai passa a posição por parametro, e ele retorna um caracter apenas, e não uma string (mais de um caracter se torna String)
para que retorne uma silaba teria que ser
linha.charAt(3) + linha.charAt(4) + linha.charAt(5) e assim vai indo…
para que salve no arquivo você precisa gravar dentro dele, antes de tudo delete o conmteudo para adicionar um novo, e como o arquivo está aberto em leitura dentro de um loop você não vai conseguir completar o que está querendo fazer, o jeito é criar um arquivo temporario, no final quando salvar todas as linhas novas você fecha o arquivo normal, delete e renomeia o temporario.
ou então você salva todas as linhas em uma unica variavel, deleta o conteudo dentro do arquivo e depois do loop que leu você cria outro para salvar.
Olá!! Estou com um problema no código abaixo, ele está em loop infinito, alguém poderia me ajudar. Esse código é para selecionar um número entre 1 a 7 e ele dizer qual dia da semana é esse, mas enquanto o número for diferente de zero (0).
[public class EnquantoDiferenteZero {
public static void main (String [] args){
String n;
n = JOptionPane.showInputDialog("Digite o número correspondente da semana: " );
int v = Integer.parseInt(n);
while (v != 0) {
switch (v){
case 2 :
System.out.println("Segunda feira");
break;
case 1 :
System.out.println("Domingo");
break;
case 3 :
System.out.println("Terca feira");
break;
case 4 :
System.out.println("Quarta feira");
break;
case 5 :
System.out.println("Quinta feira");
break;
case 6 :
System.out.println("Sexta feira");
break;
case 7 :
System.out.println("sabado feira");
break;
default:
System.out.println("Número incorreto");
}
}
}
}]
Cara, 2 puchões de orelhas:
1º: você deveria ter criado um tópico novo
2º Usar o bbcode “code”
voltando para o seu problema, coloque o:
n = JOptionPane.showInputDialog("Digite o número correspondente da semana: " );
dentro do while
pois do jeito que fez, a variavel v nunca vai mudar o valor, sempre vai continuar com apenas 1 valor e nunca vai sair do loop, então faça assim:
public class EnquantoDiferenteZero {
public static void main (String [] args){
String n;
int v = 1; //1 para entrar no laço, mas apos entrar no laço ele pergunta qual a opção, e depois entra no switch
while (v != 0) {
n = JOptionPane.showInputDialog("Digite o número correspondente da semana: " );
v = Integer.parseInt(n);
switch (v){
case 2 :
System.out.println("Segunda feira");
break;
case 1 :
System.out.println("Domingo");
break;
case 3 :
System.out.println("Terca feira");
break;
case 4 :
System.out.println("Quarta feira");
break;
case 5 :
System.out.println("Quinta feira");
break;
case 6 :
System.out.println("Sexta feira");
break;
case 7 :
System.out.println("sabado feira");
break;
default:
System.out.println("Número incorreto");
}
}
}
}
Deu certo. Foi mal, mas agora eu sei.
Obrigado Renan.
Deu certo. Foi mal, mas agora eu sei.
Obrigado Renan.
de nada, sempre que precisar é só postar

ai envia MP que eu tento ajudar e responder no tópico