Movatterモバイル変換


[0]ホーム

URL:


Documentation

The Java™ Tutorials
Basic I/O
I/O Streams
Byte Streams
Character Streams
Buffered Streams
Scanning and Formatting
Scanning
Formatting
I/O from the Command Line
Data Streams
Object Streams
File I/O (Featuring NIO.2)
What Is a Path? (And Other File System Facts)
The Path Class
Path Operations
File Operations
Checking a File or Directory
Deleting a File or Directory
Copying a File or Directory
Moving a File or Directory
Managing Metadata (File and File Store Attributes)
Reading, Writing, and Creating Files
Random Access Files
Creating and Reading Directories
Links, Symbolic or Otherwise
Walking the File Tree
Finding Files
Watching a Directory for Changes
Other Useful Methods
Legacy File I/O Code
Summary
Questions and Exercises
Trail: Essential Java Classes
Lesson: Basic I/O
Section: File I/O (Featuring NIO.2)
Home Page >Essential Java Classes >Basic I/O
« Previous • Trail • Next »

The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available.
SeeDev.java for updated tutorials taking advantage of the latest releases.
SeeJava Language Changes for a summary of updated language features in Java SE 9 and subsequent releases.
SeeJDK Release Notes for information about new features, enhancements, and removed or deprecated options for all JDK releases.

Legacy File I/O Code

Interoperability With Legacy Code

Prior to the Java SE 7 release, thejava.io.File class was the mechanism used for file I/O, but it had several drawbacks.

Perhaps you have legacy code that usesjava.io.File and would like to take advantage of thejava.nio.file.Path functionality with minimal impact to your code.

Thejava.io.File class provides thetoPath method, which converts an old styleFile instance to ajava.nio.file.Path instance, as follows:

Path input = file.toPath();

You can then take advantage of the rich feature set available to thePath class.

For example, assume you had some code that deleted a file:

file.delete();

You could modify this code to use theFiles.delete method, as follows:

Path fp = file.toPath();Files.delete(fp);

Conversely, thePath.toFile method constructs ajava.io.File object for aPath object.

Mapping java.io.File Functionality to java.nio.file

Because the Java implementation of file I/O has been completely re-architected in the Java SE 7 release, you cannot swap one method for another method. If you want to use the rich functionality offered by thejava.nio.file package, your easiest solution is to use theFile.toPath method as suggested in the previous section. However, if you do not want to use that approach or it is not sufficient for your needs, you must rewrite your file I/O code.

There is no one-to-one correspondence between the two APIs, but the following table gives you a general idea of what functionality in thejava.io.File API maps to in thejava.nio.file API and tells you where you can obtain more information.

java.io.File Functionalityjava.nio.file FunctionalityTutorial Coverage
java.io.Filejava.nio.file.PathThe Path Class
java.io.RandomAccessFileTheSeekableByteChannel functionality.Random Access Files
File.canRead,canWrite,canExecuteFiles.isReadable,Files.isWritable, andFiles.isExecutable.
On UNIX file systems, theManaging Metadata (File and File Store Attributes) package is used to check the nine file permissions.
Checking a File or Directory
Managing Metadata
File.isDirectory(),File.isFile(), andFile.length()Files.isDirectory(Path, LinkOption...),Files.isRegularFile(Path, LinkOption...), andFiles.size(Path)Managing Metadata
File.lastModified() andFile.setLastModified(long)Files.getLastModifiedTime(Path, LinkOption...) andFiles.setLastMOdifiedTime(Path, FileTime)Managing Metadata
TheFile methods that set various attributes:setExecutable,setReadable,setReadOnly,setWritableThese methods are replaced by theFiles methodsetAttribute(Path, String, Object, LinkOption...).Managing Metadata
new File(parent, "newfile")parent.resolve("newfile")Path Operations
File.renameToFiles.moveMoving a File or Directory
File.deleteFiles.deleteDeleting a File or Directory
File.createNewFileFiles.createFileCreating Files
File.deleteOnExitReplaced by theDELETE_ON_CLOSE option specified in thecreateFile method.Creating Files
File.createTempFileFiles.createTempFile(Path, String, FileAttributes<?>),Files.createTempFile(Path, String, String, FileAttributes<?>)Creating Files
Creating and Writing a File by Using Stream I/O
Reading and Writing Files by Using Channel I/O
File.existsFiles.exists andFiles.notExistsVerifying the Existence of a File or Directory
File.compareTo andequalsPath.compareTo andequalsComparing Two Paths
File.getAbsolutePath andgetAbsoluteFilePath.toAbsolutePathConverting a Path
File.getCanonicalPath andgetCanonicalFilePath.toRealPath ornormalizeConverting a Path (toRealPath)
Removing Redundancies From a Path (normalize)
File.toURIPath.toURIConverting a Path
File.isHiddenFiles.isHiddenRetrieving Information About the Path
File.list andlistFilesPath.newDirectoryStreamListing a Directory's Contents
File.mkdir andmkdirsFiles.createDirectoryCreating a Directory
File.listRootsFileSystem.getRootDirectoriesListing a File System's Root Directories
File.getTotalSpace,File.getFreeSpace,File.getUsableSpaceFileStore.getTotalSpace,FileStore.getUnallocatedSpace,FileStore.getUsableSpace,FileStore.getTotalSpaceFile Store Attributes
« PreviousTrailNext »

About Oracle |Contact Us |Legal Notices |Terms of Use |Your Privacy Rights

Copyright © 1995, 2024 Oracle and/or its affiliates. All rights reserved.

Previous page: Other Useful Methods
Next page: Summary

[8]ページ先頭

©2009-2025 Movatter.jp