= File Routines = == Read File List == === Method 1 === import java.io.File; public void listFilesForFolder(final File folder) { for (final File fileEntry : folder.listFiles()) { if (fileEntry.isDirectory()) { listFilesForFolder(fileEntry); } else { System.out.println(fileEntry.getName()); } } } === Method 2 === In Java 8, using the ''Files.walk'' API: final File folder = new File("/home/you/Desktop"); listFilesForFolder(folder); Files.walk API is available from Java 8. try (Stream paths = Files.walk(Paths.get("/home/you/Desktop"))) { paths .filter(Files::isRegularFile) .forEach(System.out::println); } === Method 3 === import java.io.File; File folder = new File("/Users/you/folder/"); File[] listOfFiles = folder.listFiles(); for (File file : listOfFiles) { if (file.isFile()) { System.out.println(file.getName()); } } References: * [[https://stackoverflow.com/questions/1844688/read-all-files-in-a-folder]] === Method 4 === private void mnuOpenActionPerformed(java.awt.event.ActionEvent evt) { try { // Read text file Path pth = Paths.get(System.getProperty("user.dir") + "/src/com/acme/myproj/data/", "customer.txt"); Stream data = Files.lines(pth); List asList = data.collect(Collectors.toList()); System.out.println("Working Directory = " + System.getProperty("user.dir")); System.out.println(asList); DefaultListModel lst = new DefaultListModel(); //for(int i=0; i< asList.size(); i++) { // String str = asList.get(i); // lst.addElement(str); //} for(String str: asList) { lst.addElement(str); } lstAdminRegions.setModel(lst); } catch (IOException ex) { Logger.getLogger(frmMain.class.getName()).log(Level.SEVERE, null, ex); } } == Example == /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.voirtech.sdayearbook; import java.io.File; import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; /** * * @author mayr */ public class FileUtils { /* * Usage: try { treeOrgTypes.setModel(new DefaultTreeModel(new DefaultMutableTreeNode("C:\\WAMP"))); // clear existing model FileUtils.scanAndLoadDirectory("C:\\WAMP", treeOrgTypes); } catch (Exception exc) { // Handle exception } */ public static void scanAndLoadDirectory(String location, JTree tree) throws InterruptedException { // Creates a file with the location filename //String location ="C:\\Users\\John Doe\\Documents"; File currentDir = new File(location); // Get root of tree model DefaultTreeModel modelTree = (DefaultTreeModel)tree.getModel(); DefaultMutableTreeNode root = (DefaultMutableTreeNode) modelTree.getRoot(); displayDirectoryContents(currentDir, modelTree, root); } public static void displayDirectoryContents(File dir, DefaultTreeModel model, DefaultMutableTreeNode curRoot) throws InterruptedException { File[] files = dir.listFiles(); // Creates array of file type for all the files found for (File file : files) { if (file == null) { System.out.println("NULL directory found"); continue; } if (file.isDirectory()) { //--------------------------- // File is a Directory //--------------------------- if (file.listFiles() == null) { // Skip null files continue; } // Adds a new Directory node to tree root DefaultMutableTreeNode newdir = new DefaultMutableTreeNode(file.getName()); curRoot.add(newdir); // Refresh the model to show changes model.reload(); // Recursively calls the function again to explore the contents folder displayDirectoryContents(file, model, newdir); } else { //--------------------------- // File is not a directory //--------------------------- // Inserts a node newfile under selected node which is the root DefaultMutableTreeNode selectednode = curRoot; DefaultMutableTreeNode newfile = new DefaultMutableTreeNode(file.getName()); model.insertNodeInto(newfile, selectednode, selectednode.getChildCount()); // Refresh the model to show the changes model.reload(); } } } }