Estou com o seguinte problema, no meu programa, quando eu executo uma determinada açao (clico em um botão específico), ele deverá percorrer o diretório que o usuário for informando e no final, criar um arquivo texto dentro da pasta informada pelo usuário.
Alguém sabe de alguma classe, métodos que façam isso?
Fala andersonmarelo, cara logo abaixo está o exemplo de uma solução, onde está sendo passado o caminho do diretório e o nome que será utilizado pelo novo arquivo txt. Basta você realizar algumas alterações e colocar na maneira que você precisa. Flw…
importjava.io.File;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.ArrayList;importjava.util.List;publicclassExemploDiretorio{publicstaticvoidmain(String[]args){// Determina o diretório que será acessado e o nome do arquivo que será criadoStringcaminhoDiretorio="C:\teste\Files teste\"; String nomeArquivoTxt = "ExemploArquivo.txt"; ExemploDiretorio exemploDiretorio = new ExemploDiretorio(); File file = new File(caminhoDiretorio); ArrayList<String> lstFiles = new ArrayList<String>(); // Realiza interação em todas as pastas e arquivos for (File f : file.listFiles()) { // adiciona os nomes das pastas e arquivos em uma lista lstFiles.add(f.getName()); } try { // chama o metodo para realizar escrita dos valores no arquivo txt exemploDiretorio.escreverArquivo(caminhoDiretorio + nomeArquivoTxt,lstFiles); } catch (IOException e) { e.printStackTrace(); } } /** * Realiza criação do arquivo TXT * * @param caminhoArquivo * @throws IOException */ private void createArquivo(String caminhoArquivo) throws IOException{ File f = new File(caminhoArquivo); if (!f.exists()){ f.createNewFile(); } } /** * Realiza a escrita dos valores no arquivo TXT * * @param caminhoArquivo - path do arquivo * @param lstFiles - lista de valores a serem escritos * @throws IOException */ private void escreverArquivo(String caminhoArquivo, List<String> lstFiles) throws IOException{ this.createArquivo(caminhoArquivo); File f = new File(caminhoArquivo); PrintWriter pw = new PrintWriter(f); for (String valor : lstFiles) { pw.println(valor); } pw.flush(); pw.close(); }}