Oi,
Estou tentando ler varios arquivos de um unico diretorio, a unica diferença entre o nome dos arquivos é uma data que faz parte do mesmo?
Oi,
Estou tentando ler varios arquivos de um unico diretorio, a unica diferença entre o nome dos arquivos é uma data que faz parte do mesmo?
Qual o problema?
É só vc ir lendo um por vez…
Olá
[quote=hebron]Oi,
Estou tentando ler varios arquivos de um unico diretorio, a unica diferença entre o nome dos arquivos é uma data que faz parte do mesmo?[/quote]
Para “abrir” um xls com java e edita-lo use o POI.
Qual é a sua dificuldade com datas?
Eu leio um arquivo mais com o nome fixo no codigo, eu preciso ler varios arquivos como diferente.
Esses arquivos que preciso ler sempre vão ter nome diferentes oq vai mudar no nome sempre é data que é contida nele ai n tenho como passar o nome fixo.
Oq estava pensando emm fazer é ler a quantidade de arquivos q tem no diretorio e fazer um FOR para pegar esses aquivos, ai passaria para uma string e passaria fixo o nome do arquivo mais n to conseguindo ver a quantidade de arquivos no diretorio e nem pegar o nome dos arquivos.
import java.util.*;
import java.io.*;
/**
* Faz algo parecido com "dir /s *.html" (no caso Windows) ou
* find . -name '*.html' -print (no caso Unix).
* Cuidado: se houver um arquivo "XXX.HTML" (em maiúsculas) não vai
* reconhecer, a menos que você explicite na expressão regular.
*/
class ExemploDir {
/**
* @param startingDirectory O diretório inicial.
* @param pattern Uma expressão regular que deve ser aplicada
* ao nome do arquivo.
*/
public List<File> findFiles (final File startingDirectory, final String pattern) {
List<File> files = new ArrayList<File>();
if (startingDirectory.isDirectory()) {
File[] sub = startingDirectory.listFiles(new FileFilter() {
public boolean accept (File pathname) {
return pathname.isDirectory() || pathname.getName().matches (pattern);
}
});
for (File fileDir: sub) {
if (fileDir.isDirectory()) {
files.addAll (findFiles (fileDir, pattern));
} else {
files.add (fileDir); //
}
}
}
return files;
}
/**
*
*/
public static void main(String[] args) {
ExemploDir ed = new ExemploDir();
// Listando todos os arquivos "*.html"
System.out.println (ed.findFiles (new File("."), ".*\\.html"));
// Listando todos os arquivos "*.java" ou "abs*.txt"
System.out.println (ed.findFiles (new File("."), "(.*\\.java|abs.*\\.txt)"));
// Listando todos os arquivos "*.htm*" (incluindo arquivos *.HTM) - útil para Windows
System.out.println (ed.findFiles (new File("."), "(?i).*\\.htm[^.]*"));
// Listando todos os arquivos "*.htm*" e "*.jsp"
// (incluindo arquivos *.HTM e *.JSP) no diretório C:\INETPUB - útil para Windows
System.out.println (ed.findFiles (new File("C:/INETPUB"), "(?i)(.*\\.htm[^.]*|.*\\.jsp)"));
}
}
Onde está escrito “.\.html", use ".\.xls” se quiser, por exemplo, todos os arquivos que terminam por xls. A opção de expressão regular “(?i)” serve para ignorar a diferença entre minúsculas e maiúsculas.
OI edson
Primeiramente obriga pela ajuda mais gostaria no entendi direto For, se vc puder me explicar te agradeço.
Att
Hebron
for (File fileDir: sub) {
if (fileDir.isDirectory()) {
files.addAll (findFiles (fileDir, pattern));
} else {
files.add (fileDir); //
}
Gostaria de agradecer a todos pela ajuda, meu projeto funcionou prefeitamente.