Estou com um probleminha e gostaria de ajuda.
Seguinte:
Preciso localizar todos os arquivos com uma determinada extensão dentro de uma determinada pasta e gerar um “txt” com essa lista resultante, ou seja, com o nome dos arquivos.
Alguém poderia dá um help?
Vê se esse serve… ele lista todos os arquivos com extensão txt no diretório "c:" .
// arquivo onde será gravada a lista de arquivos do diretórioFileWriterarquivos=newFileWriter(newFile("arquivos.txt"));// diretório que será listado.FilebaseFolder=newFile("c:");// obtem a lista de arquivosFile[]files=baseFolder.listFiles();for(inti=0;i<files.length;i++){Filefile=files[i];if(file.getPath().endsWith(".txt")){Stringname=file.getName();arquivos.write(name+"\n");arquivos.flush();}}
S
SoniaMarina
importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.OutputStreamWriter;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.Collections;importjava.util.Set;importjava.util.TreeSet;publicclassCopyFiles{privatestaticfinalFileFICH_IN=newFile("C:\Documents and Settings\Brasil\ private static final File FICH_FI = new File("C:\DocumentsandSettings\Pasta.txt"); static void extractUniqueTitles() throws IOException{ File folder = new File(FICH_IN.getPath()); String [] fileName = folder.list(); ArrayList<String> uniqueTitles = new ArrayList<String>(); int count = 0; if(FICH_FI.exists()){ String [] listLines = IO.load(FICH_FI.getAbsolutePath()).split("\n"); uniqueTitles.addAll(Arrays.asList(listLines)); Collections.sort(uniqueTitles); } for(int i = 0; i < fileName.length; i++){ System.out.println("Processing" + fileName[i]); String inputFn = FICH_IN.getPath() + "\" + fileName[i]; String [] titles = IO.load(inputFn).split("\r?\n\r?"); for(int j = 0; j < titles.length; j++){ int idx = Collections.binarySearch(uniqueTitles, titles[j]); if(idx < 0){ uniqueTitles.add(-1 - idx, titles[j]); count++; } } } System.out.println("Newtitlesadded" + count); FileOutputStream fous = new FileOutputStream(FICH_FI.getAbsolutePath()); OutputStreamWriter os = new OutputStreamWriter(fous, "utf8"); for(String title : uniqueTitles) os.write(title + "\n"); os.flush(); fous.flush(); fous.close(); } } public static void main(String[] args) throws IOException { extractUniqueTitles(); } }
Será isto que precisas?
internetws
O povo tem mania de colocar variáveis ou constantes, com letras maiúscula com alusão o C/C++. Isso é ridículo.
RPITA
Ok pessoal!
Problema resolvido.
Valeu pela força.
vanzella
Como assim? Esse padrão de nomenclatura é JavaBean, adotado pela sun, mas nem só por isso é obrigado a adota-la.
M
moises.trovo
eu costumo usar aquela classe FileFilter…
File dir = new File("/home/foo");
dir.list(new FileFilter(){
//implementa FileFilter
});
dae ele retorna um array de File só com os arquivos q passarem nesse filtro.