Ae galera to com um problema de manipulação de arquivos::::
Tenho que construir uma aplicação, tendo por base as Classes Leitor.java e UsoLeitor.java, que receba um arquivo-texto e uma expressão e informe se esta expressão ocorre neste arquivo, inclusive sua quantidade.
e to totalmente perdido, manjo poco de java…
Essas Classes estão aqui:
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class Leitor {
public static String ler(File arquivo) {
StringBuffer sb = new StringBuffer();
String palavra;
try {
FileReader reader = new FileReader(arquivo);
int c;
do {
c = reader.read();
if (c!=-1) {
System.out.println((char)c);
}
} while (c != -1);
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
}
import java.io.File;
public class UsoLeitor {
public static void main(String[] args) {
File arquivo = new File(“MeuTexto.txt”);
String s = Leitor.ler(arquivo);
String frase = Leitor.Ler(s);
System.out.println(s);
}
}
a principio, vc tem que tomar cuidado com a classe UsoLeitor(vc tá querendo passar uma string no lugar de um File)… Agora dá uma olhada num corpo do while que faz a comparação…
do {
c = reader.read();
if (c != -1) {
//System.out.println((char) c);
if (i<palavra.length() && ((char)c == palavra.charAt(i))){
i++;
if (i==palavra.length() ){
cont++;
i=0;
}
}
else{
i=0;
}
}
} while (c != -1);
aí vc tem a comparação dos cracteres com a palavra…
Agora é fazer a entrada da palavra que vc quer comparar e passar ela pro metodo ler()…
no final o cont informa quantas palavras foram encontradas no arquivo