本实验报告详细探讨了文件管理类程序的设计与实现,涵盖文件操作、存储结构及用户界面优化等方面,旨在提升数据管理和检索效率。
编写一个名为FileManager的Java程序(文件名:FileManager.java),该类继承自`java.io.File`并实现以下功能:
1. 获取指定目录下的所有文件与子目录的相关属性,包括但不限于:
- 文件名称。
- 是否为文件或目录。
- 对于非目录项显示大小信息;对于目录则无需展示其大小;
- 创建日期时间戳;
- 读取权限状态(是否可读);
- 绝对路径。
2. 将上述获取的信息写入名为`fileinfo.txt`的文本段落件中。
3. 当目标输出文件尚不存在时,程序需自动创建该文件;若已存在,则覆盖原有内容进行更新操作。
4. 对于未能正确解析或访问到用户输入的目标目录的情况(例如路径错误),通过适当的异常处理机制向用户提供明确反馈。
接下来需要编写一个测试类TestFileManager.java来验证上述功能。此测试类应支持命令行参数传递,以便用户可以指定任意有效的文件系统路径作为程序的运行目标:
```java
// 用法示例:
// java TestFileManager c:\\windows (绝对路径)
// 或者
// java TestFileManager /mydir (相对或绝对路径)
```
测试类需具备以下功能特性:如果输入参数不符合标准格式,应输出错误信息并指导用户如何正确使用该程序;当指定的目录在文件系统中不存在时,则向用户提供明确提示。
最后,请撰写一份上机报告以总结项目的开发过程、遇到的问题及其解决方案,并将所有相关源代码和文档按时提交至截止日期(第16周周三之前),过期无效。例如,若用户执行命令`java TestFileManager c:/test`且该目录下有一个名为Dir1的子目录及一个大小为20K字节的文件File1.txt,则程序应将以下内容写入到fileinfo.txt中:
```
名称 类型 大小 创建日期 可读性 路径
----------------------------------------------
Dir1 目录 - 2012-07-09 是 c:\test\Dir1
File1.txt 文件 20K 2012-07-08 否 c:\test\File1.txt
```