c:\ece538\ch15\fig15_02>java FileAndDirectoryInfo Enter file or directory name: ..\fig15_02 fig15_02 exists Is a directory Is not an absolute path Last modified: 2020-01-31T17:00:51.763303Z Size: 4096 Path: ..\fig15_02 Absolute path: c:\ece538\ch15\fig15_02\..\fig15_02 Directory contents: ..\fig15_02\FileAndDirectoryInfo.class ..\fig15_02\FileAndDirectoryInfo.java ..\fig15_02\FileAndDirectoryInfo.java.html |
FileAndDirectoryInfo.java
// Fig. 15.2: FileAndDirectoryInfo.java // File class used to obtain file and directory information. import java.io.IOException; import java.nio.file.DirectoryStream; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Scanner; public class FileAndDirectoryInfo { public static void main(String[] args) throws IOException { Scanner input = new Scanner(System.in); System.out.println("Enter file or directory name:"); // create Path object based on user input Path path = Paths.get(input.nextLine()); if (Files.exists(path)) // if path exists, output info about it { // display file (or directory) information System.out.printf("%n%s exists%n", path.getFileName()); System.out.printf("%s a directory%n", Files.isDirectory(path) ? "Is" : "Is not"); System.out.printf("%s an absolute path%n", path.isAbsolute() ? "Is" : "Is not"); System.out.printf("Last modified: %s%n", Files.getLastModifiedTime(path)); System.out.printf("Size: %s%n", Files.size(path)); System.out.printf("Path: %s%n", path); System.out.printf("Absolute path: %s%n", path.toAbsolutePath()); if (Files.isDirectory(path)) // output directory listing { System.out.printf("%nDirectory contents:%n"); // object for iterating through a directory's contents DirectoryStream<Path> directoryStream = Files.newDirectoryStream(path); for (Path p : directoryStream) System.out.println(p); } } else // not file or directory, output error message { System.out.printf("%s does not exist%n", path); } } }
Maintained by John Loomis, updated Fri Jan 31 11:36:40 2020