Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
swdev:java:files:file_routines [2017/10/02 08:25] smayr [Method 3] |
swdev:java:files:file_routines [2018/03/12 08:16] (current) smayr |
||
---|---|---|---|
Line 53: | Line 53: | ||
try { | try { | ||
// Read text file | // Read text file | ||
- | Path pth = Paths.get(System.getProperty(" | + | Path pth = Paths.get(System.getProperty(" |
| | ||
Stream< | Stream< | ||
Line 74: | Line 74: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | == Example == | ||
+ | <code java> | ||
+ | /* | ||
+ | * 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(" | ||
+ | FileUtils.scanAndLoadDirectory(" | ||
+ | } catch (Exception exc) { | ||
+ | // Handle exception | ||
+ | } | ||
+ | */ | ||
+ | public static void scanAndLoadDirectory(String location, JTree tree) throws InterruptedException | ||
+ | { | ||
+ | // Creates a file with the location filename | ||
+ | //String location =" | ||
+ | File currentDir = new File(location); | ||
+ | |||
+ | // Get root of tree model | ||
+ | DefaultTreeModel modelTree | ||
+ | DefaultMutableTreeNode root = (DefaultMutableTreeNode) modelTree.getRoot(); | ||
+ | | ||
+ | displayDirectoryContents(currentDir, | ||
+ | } | ||
+ | | ||
+ | public static void displayDirectoryContents(File dir, DefaultTreeModel model, DefaultMutableTreeNode curRoot) throws InterruptedException | ||
+ | { | ||
+ | File[] files = dir.listFiles(); | ||
+ | |||
+ | for (File file : files) { | ||
+ | if (file == null) { | ||
+ | System.out.println(" | ||
+ | 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, | ||
+ | | ||
+ | } 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, | ||
+ | |||
+ | // Refresh the model to show the changes | ||
+ | model.reload(); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ |