利用流在屏幕上显示文本文件内容及文件的路径、修改时间、大小、长度、可读性和可修改性等属性。java
时间: 2023-07-10 14:41:19 浏览: 115
好的,以下是 Java 代码实现您的需求。请将以下代码保存为一个 Java 文件(例如 DisplayFileInfo.java),并使用命令行运行该文件并传入您想要显示的文件路径作为参数(例如 java DisplayFileInfo /path/to/your/file.txt)。
```
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DisplayFileInfo {
public static void main(String[] args) {
// 获取文件路径
String filePath = args[0];
// 检查文件是否存在
File file = new File(filePath);
if (!file.exists()) {
System.out.println("文件不存在!");
System.exit(0);
}
// 获取文件属性
long fileSize = file.length();
String fileModified = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(file.lastModified()));
boolean fileReadable = file.canRead();
boolean fileWritable = file.canWrite();
// 打印文件路径和属性
System.out.println("文件路径:" + filePath);
System.out.println("文件大小:" + fileSize + " 字节");
System.out.println("文件修改时间:" + fileModified);
System.out.println("文件可读性:" + fileReadable);
System.out.println("文件可修改性:" + fileWritable);
System.out.println();
// 打开文件并逐行读取并显示内容
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
该代码将首先检查您指定的文件是否存在,如果不存在,则会打印错误消息并退出程序。如果文件存在,则会获取文件的大小、修改时间、可读性和可修改性等属性,并将这些属性打印到屏幕上。接下来,它将打开指定的文件并逐行读取文件内容,并将每一行文本都打印到屏幕上。注意,在 Java 中,我们使用了 try-with-resources 语句来自动关闭文件读取器,以确保文件资源被正确释放。
阅读全文