读取D:\2023training\file02.txt,写入到D:\2023training\file02_copy.txt。 并且读写文件发生的异常信息写入到D:\2023training\log\training.log文件中。 在读写完成后,将D:\2023training\file02.txt文件删除。
时间: 2023-08-15 11:09:32 浏览: 91
您可以使用Java的`BufferedReader`和`BufferedWriter`类来读取和写入文本文件,以及`File`类来删除文件。下面是一个示例代码:
```java
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
import java.time.LocalDateTime;
public class FileReadWriteExample {
public static void main(String[] args) {
String sourceFilePath = "D:\\2023training\\file02.txt";
String destinationFilePath = "D:\\2023training\\file02_copy.txt";
String logFilePath = "D:\\2023training\\log\\training.log";
try {
// 读取文件
BufferedReader reader = new BufferedReader(new FileReader(sourceFilePath));
StringBuilder content = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
content.append(line).append("\n");
}
reader.close();
// 写入文件
BufferedWriter writer = new BufferedWriter(new FileWriter(destinationFilePath));
writer.write(content.toString());
writer.close();
System.out.println("文件读写成功!");
// 记录日志
String logMessage = LocalDateTime.now() + ": 文件读写成功!\n";
Files.write(Path.of(logFilePath), logMessage.getBytes(), StandardOpenOption.CREATE, StandardOpenOption.APPEND);
// 删除源文件
File sourceFile = new File(sourceFilePath);
boolean deleted = sourceFile.delete();
if (deleted) {
System.out.println("源文件删除成功!");
} else {
System.out.println("源文件删除失败!");
}
} catch (IOException e) {
System.out.println("文件读写失败:" + e.getMessage());
// 记录异常信息到日志文件
String logErrorMessage = LocalDateTime.now() + ": 文件读写失败!" + e.getMessage() + "\n";
try {
Files.write(Path.of(logFilePath), logErrorMessage.getBytes(), StandardOpenOption.CREATE, StandardOpenOption.APPEND);
} catch (IOException ex) {
System.out.println("日志记录失败:" + ex.getMessage());
}
}
}
}
```
在上面的示例中,我们首先指定源文件路径、目标文件路径和日志文件路径。然后,我们使用`BufferedReader`读取源文件的内容,并使用`BufferedWriter`将内容写入目标文件。接下来,我们使用`Files.write()`方法将成功或失败的日志信息追加到日志文件中。最后,我们使用`File`类的`delete()`方法删除源文件。
请确保源文件`D:\2023training\file02.txt`存在,并且您具有读取和写入权限。完成后,您将在`D:\2023training\log\training.log`中看到相应的日志信息,并且源文件`D:\2023training\file02.txt`将被删除。新创建的副本文件将保存在`D:\2023training\file02_copy.txt`中。
阅读全文