Bom dia, eu sou novo na linguagem de programação e decidi criar uma conta aqui para ver se encontro alguma ajuda.
Meu conhecimento é deveras limitado pelo fato de eu ser um estagiário de uma escola técnica, a empresa a qual estou estagiando pediu para eu fazer um programa em Java de busca de informações em arquivos e estou com dificuldade para juntar dois códigos um que faz a varredura no disco C e encontra somente os arquivos pdf e txt(só estou trabalhando com esse por enquanto), e outro utilizando o regex que identifica se o arquivo tem a informação que quero ou não.
Isto é, eu gostaria que algum ser abençoado me desce um norte de como proceder pois estou fazendo isso sozinho, sem um supervisor só aprendendo sozinho e pesquisando e aprendendo, a ideia é pegar esses arquivos lidos tanto pdf quanto txt e filtrar aqueles que contem as informações que eu quero .
Leitor de arquivos somente em pdf e txt:
import java.io.File;
public class mhe {
private static String extension = "none";
private static String fileName;
public static void main(String[] args ){
String dir = "C:\\";
File aFile = new File(dir);
ReadDirectory(aFile);
}
private static void ReadDirectory(File aFile) {
File[] listOfFiles = aFile.listFiles();
if (aFile.isDirectory()) {
listOfFiles = aFile.listFiles();
if(listOfFiles!=null) {
for (File listOfFile : listOfFiles) {
if (listOfFile.isFile()) {
fileName = listOfFile.toString();
int dotPos = fileName.lastIndexOf(".");
if (dotPos > 0) {
extension = fileName.substring(dotPos);
}if (extension.equals(".txt") || extension.equals(".pdf")) {
System.out.println("FILE:" + listOfFile);
}
}
if (listOfFile.isDirectory()) {
ReadDirectory(listOfFile);
}
}
}
}
}
}
Regex que encontra informações(CPF) no arquivo:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class BuscaCPF {
public static void main(String[] args) throws FileNotFoundException {
{
File doc = new File("C:\\temp\\in.txt");
Scanner obj = new Scanner(doc);
while (obj.hasNext()) {
String objt = obj.next();
Pattern p = Pattern.compile("[0-9]{3}[.][0-9]{3}[.][0-9]{3}[-][0-9]{2}");
Matcher m = p.matcher(objt);
boolean matchFound = m.find();
if (matchFound) {
System.out.println(objt);
} else {
System.out.println("Não encontrado");
}
}
}
}
}