Home >Java >javaTutorial >A Beginner's Guide to Java File Operations: From Zero to Mastery
1. Basics of file operations
To create a file, you can use the createNewFile()<strong class="keylink"> method of the </strong>java.
io.File
class. If the file already exists, this method will throw an IOException
exception.
File file = new File("myfile.txt"); file.createNewFile();
Reading files can use the java.io.FileReader
class. This class provides read()
and readLine()
methods to read file contents.
FileReader reader = new FileReader("myfile.txt"); BufferedReader bufferedReader = new BufferedReader(reader); String line; while ((line = bufferedReader.readLine()) != null) { System.out.println(line); } bufferedReader.close();
Writing files can use the java.io.FileWriter
class. This class provides write()
and writeLines()
methods to write file contents.
FileWriter writer = new FileWriter("myfile.txt"); BufferedWriter bufferedWriter = new BufferedWriter(writer); bufferedWriter.write("Hello, world!"); bufferedWriter.newLine(); bufferedWriter.write("This is a new line."); bufferedWriter.close();
Copying files can use the copy()<strong class="keylink"> method of the </strong>java.
NIO.file.Files
class. This method copies the source file to the destination file.
Files.copy(Paths.get("myfile.txt"), Paths.get("myfile_copy.txt"));
Moving files can use the move()
method of the java.nio.file.Files
class. This method moves the source file to the destination file.
Files.move(Paths.get("myfile.txt"), Paths.get("new_folder/myfile.txt"));
To delete a file, you can use the delete()
method of the java.io.File
class. If the file does not exist, this method returns false
.
File file = new File("myfile.txt"); file.delete();
2. Advanced file operations
File locks can prevent multiple processes from accessing the same file at the same time. In Java, you can use the java.nio.channels.FileLock
class to lock files.
FileChannel channel = FileChannel.open(Paths.get("myfile.txt"), StandardOpenOption.WRITE); FileLock lock = channel.lock(); // 对文件进行操作 lock.release();
File metadata contains file attributes, such as file size, creation time, modification time, etc. In Java, you can use the getAttribute()
and setAttribute()
methods of the java.nio.file.Files
class to get and set file metadata.
Map<String, Object> attrs = Files.getAttribute(Paths.get("myfile.txt"), "basic"); System.out.println(attrs.get("size")); System.out.println(attrs.get("creationTime")); System.out.println(attrs.get("lastModifiedTime")); Files.setAttribute(Paths.get("myfile.txt"), "creationTime", new FileTime(Instant.now()));
Java NIO (New Input/Output) is a new I/O api introduced in Java 7, which provides faster I/O performance. Java NIO uses non-blocking I/O, which means it can continue performing other tasks without waiting for the I/O operation to complete.
The most commonly used class in Java NIO is java.nio.channels.FileChannel
. This class provides read()
and write()
methods to read and write files.
FileChannel channel = FileChannel.open(Paths.get("myfile.txt"), StandardOpenOption.READ); ByteBuffer buffer = ByteBuffer.allocate(1024); while (channel.read(buffer) > 0) { buffer.flip(); while (buffer.hasRemaining()) { System.out.print((char) buffer.get()); } buffer.clear(); } channel.close();
Summarize
Java file operations are basic knowledge in Java Programming and are also the basis for many applications. This article covers the basics of Java file operations, starting with creating, reading, writing, copying, moving, and deleting files, to advanced operations such as file locks and metadata operations, and how to use file operation libraries such as Java NIO. to improve performance. I hope this article can help readers better understand and use Java file operations.
The above is the detailed content of A Beginner's Guide to Java File Operations: From Zero to Mastery. For more information, please follow other related articles on the PHP Chinese website!