Estou com uma duvida de como faço para abrir e ler um arquivo (ex: *.txt, *.html) em JAVA, sei que posso fazer isso usando o Scanner da versão 1.5 tipo: Scanner arq = new Scanner (new File(nome do arquivo)), mas não consigo aplicar isso em um programa.
Estou tentando fazer um programa assim:
*Que pergunte ao usuário o nome ou o arquivo HTML;
*Depois abra este arquivo e imprima na tela só o texto, sem as tags
Valeu a atenção…
falou
[code]BufferedReader br = new BufferedReader(new FileReader(“c:/arquivo.html”));
while(br.ready()){
String linha = br.readLine();
System.out.println(linha);
}
br.close();
[/code]
Deixei o programa assim e deu 4 erros:
[code]
import java.io.*;
public class LeArq{
public static void main (String[]args){
BufferedReader br = new BufferedReader(new FileReader("c:/arquivo.html"));
while(br.ready()){
String linha = br.readLine();
System.out.println(linha);
}
br.close();
}
}[/code]
desculpa mas consegui entender o codigo, nunca usei o BufferedReader, usava assim:
Scanner arq = new Scaner(new File(nome do arq));
Tem que tratar as exceções…
[code]import java.io.*;
public class LeArq{
public static void main (String[]args){
try{
BufferedReader br = new BufferedReader(new FileReader("c:/arquivo.html"));
while(br.ready()){
String linha = br.readLine();
System.out.println(linha);
}
br.close();
}catch(IOException ioe){
ioe.printStackTrace();
}
}
}[/code]
1 curtida
Perfeito o código funcionou perfeitamente:
import java.io.*;
import javax.swing.JOptionPane;
public class LeArq{
public static void main (String[]args){
try{
String nome;
nome = JOptionPane.showInputDialog(null,"Entre com o nome do arquivo");
BufferedReader br = new BufferedReader(new FileReader(nome));
while(br.ready()){
String linha = br.readLine();
System.out.println(linha);
}
br.close();
}catch(IOException ioe){
ioe.printStackTrace();
}
}
}
só que estou tentando não imprimir as tags, só o texto fiz assim mas estou errando na logica…
String linha = br.readLine();
for(int cont = 0; cont < linha.length(); cont++){
char letra = linha.charAt(cont);
if(letra == '<'){
}
if(letra == '>'){
System.out.println(linha);
}
}
estou tentando fazer ele parar de imprimir quando tiver o char ‘<’ e voltar quando aparecer ‘>’… não querendo abusar mas já abusando teria alguma sugestão?
valeu mesmo…
eu tenho uma tabela em HTML,
com o programa acima eu leio tudo do arquivo, não é ?
eu qeria só os valores entre as tags;
Tente assim
[code] boolean isTag = true;
String linha = br.readLine();
String linhaImp = “”;
for(int cont = 0; cont < linha.length(); cont++){
char letra = linha.charAt(cont);
if(letra == '<'){
isTag = true;
} else if(!isTag){
linhaImp += letra;
}
if(letra == '>'){
isTag = false;
}
}
System.out.println(linhaImp);[/code]