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<Path> 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:

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<String> data = Files.lines(pth);
            List<String> asList = data.collect(Collectors.toList());
            System.out.println("Working Directory = " + System.getProperty("user.dir"));
            System.out.println(asList);
 
            DefaultListModel<String> 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();
            }
        }    
    }
}