You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5.1 KiB
5.1 KiB
个人知识管理系统 - 命令行版本 (PKM CLI)
这是一个基于Java的个人知识管理系统,提供完整的命令行界面来管理你的笔记和知识库。
项目结构
PKM/
├── pom.xml # Maven配置文件
├── src/
│ ├── main/
│ │ └── java/
│ │ └── com/
│ │ └── example/
│ │ ├── App.java # 主应用程序入口
│ │ ├── cli/
│ │ │ └── CommandParser.java # 命令解析器
│ │ ├── model/
│ │ │ ├── Note.java # 笔记实体类
│ │ │ └── ExportFormat.java # 导出格式枚举
│ │ └── service/
│ │ ├── storage/
│ │ │ ├── StorageService.java # 存储服务接口
│ │ │ ├── StorageException.java # 存储异常类
│ │ │ └── JsonStorageService.java # JSON存储实现
│ │ ├── export/
│ │ │ ├── Exporter.java # 导出器接口
│ │ │ ├── ExportException.java # 导出异常类
│ │ │ ├── ExporterFactory.java # 导出器工厂
│ │ │ ├── TxtExporter.java # TXT导出器
│ │ │ └── JsonExporter.java # JSON导出器
│ │ └── search/
│ │ └── SearchService.java # 搜索服务
│ └── test/
│ └── java/
│ └── com/
│ └── example/
│ ├── AppTest.java # 应用测试类
│ └── test/
│ └── EntityTest.java # 实体类测试
├── target/classes/ # 编译输出目录
├── pkm.bat # PKM快捷启动脚本
├── run.bat # 运行脚本
├── clean.bat # 清理脚本
├── notes.txt # 笔记数据文件
└── README.md # 项目说明文件
功能特性
核心命令
new- 创建新笔记list- 列出所有笔记(支持标签过滤)view- 查看笔记详情edit- 编辑笔记内容delete- 删除笔记
标签管理
tag- 为笔记添加标签untag- 从笔记移除标签
搜索功能
search- 按关键词搜索笔记
导出功能
export- 导出单个笔记export-all- 导出所有笔记- 支持格式:TXT、JSON
其他
help- 显示帮助信息exit/quit- 退出程序
如何运行
前提条件
- 安装Java 17或更高版本
- 确保Java在系统PATH中
快速启动
使用PKM快捷脚本(推荐):
# 交互模式
pkm.bat
# 命令模式
pkm.bat help
pkm.bat new "我的笔记" "笔记内容"
pkm.bat list --tag java
手动编译运行
# 编译项目
javac -cp src\main\java -d target\classes src\main\java\com\example\*.java src\main\java\com\example\cli\*.java src\main\java\com\example\model\*.java
# 运行程序
java -cp target\classes com.example.App [命令]
使用run.bat脚本
# 自动编译并运行
run.bat
使用示例
交互模式
> pkm.bat
欢迎使用个人知识管理系统 (CLI版)
输入 help 查看可用命令
pkm> new "Java学习笔记" "今天学习了面向对象编程..."
创建笔记: Java学习笔记
内容: 今天学习了面向对象编程...
pkm> list
列出所有笔记:
[1] Java笔记 (2023-10-01) [编程, 学习]
[2] 设计模式笔记 (2023-10-05) [编程, 架构]
pkm> exit
感谢使用个人知识管理系统!
命令模式
# 创建笔记
pkm.bat new "Python学习" "学习Python基础语法"
# 列出笔记
pkm.bat list
# 按标签过滤
pkm.bat list --tag programming
# 搜索笔记
pkm.bat search "设计模式"
# 导出笔记
pkm.bat export 123e4567 txt my-note.txt
# 查看帮助
pkm.bat help
开发状态
当前版本已完成以下功能:
✅ 已实现
- 完整的命令行界面和命令解析功能
- Note实体类(包含完整的属性和方法)
- 存储服务接口和实现(JsonStorageService)
- 导出功能(TXT和JSON格式,使用工厂模式)
- 搜索服务(关键词、标签、模糊搜索等)
- 异常处理机制
- 单元测试和验证
🚧 开发中
- 将命令解析器与业务服务集成
- 笔记控制器和标签控制器
- 配置管理
📋 待开发
- 批处理操作
- 数据导入功能
- 更丰富的搜索选项
- 统计功能(笔记数量、标签云)
技术栈
- Java 17
- Maven 3.x
- JUnit 5 (用于测试)
许可证
此项目仅用于学习和演示目的。