├── README.md
├── 内存管理-请求分页分配方式模拟
├── README.md
├── memory.exe
├── memory.jar
├── src
│ ├── Component
│ │ ├── AlgSelectBar.java
│ │ ├── Block.java
│ │ ├── EventListener.java
│ │ ├── Memory.java
│ │ ├── Moniter.java
│ │ ├── Page.java
│ │ ├── SpeedSlider.java
│ │ └── WaitingList.java
│ └── UI
│ │ └── MainFrame.java
└── 内存管理 - 请求分页分配方式模拟.md
├── 文件管理-文件系统
├── MyFileSystem.exe
├── MyFileSystem.jar
├── README.md
├── myFileSystem
│ ├── 1
│ │ ├── 1BitMap&&Fat.txt
│ │ └── recover.txt
│ ├── 2
│ │ ├── 2BitMap&&Fat.txt
│ │ └── recover.txt
│ ├── 3
│ │ ├── 3BitMap&&Fat.txt
│ │ └── recover.txt
│ ├── 4
│ │ ├── 4BitMap&&Fat.txt
│ │ └── recover.txt
│ ├── 5
│ │ ├── 5BitMap&&Fat.txt
│ │ └── recover.txt
│ ├── 6
│ │ ├── 6BitMap&&Fat.txt
│ │ ├── mojito.txt
│ │ └── recover.txt
│ ├── 7
│ │ ├── 7BitMap&&Fat.txt
│ │ └── recover.txt
│ ├── 8
│ │ ├── 8BitMap&&Fat.txt
│ │ └── recover.txt
│ ├── 9
│ │ ├── 9BitMap&&Fat.txt
│ │ └── recover.txt
│ └── ReadMe.txt
├── src
│ ├── Java
│ │ ├── Folder.java
│ │ ├── MyFileSystem.java
│ │ ├── myFiles.java
│ │ └── tableModel.java
│ └── image
│ │ ├── document.png
│ │ └── folder.png
└── 模拟文件管理系统-设计方案报告.md
└── 进程管理项目-模拟电梯调度
├── MyElevator.exe
├── README.md
├── elevator.jar
├── src
├── UI
│ └── MyBuilding.java
├── component
│ ├── Buttons.java
│ ├── Elevator.java
│ ├── EventListener.java
│ ├── Floor.java
│ └── MyButton.java
└── image
│ ├── 1.png
│ ├── 10.png
│ ├── 10A.png
│ ├── 10h.png
│ ├── 11.png
│ ├── 11A.png
│ ├── 11h.png
│ ├── 12.png
│ ├── 12A.png
│ ├── 12h.png
│ ├── 13.png
│ ├── 13A.png
│ ├── 13h.png
│ ├── 14.png
│ ├── 14A.png
│ ├── 14h.png
│ ├── 15.png
│ ├── 15A.png
│ ├── 15h.png
│ ├── 16.png
│ ├── 16A.png
│ ├── 16h.png
│ ├── 17.png
│ ├── 17A.png
│ ├── 17h.png
│ ├── 18.png
│ ├── 18A.png
│ ├── 18h.png
│ ├── 19.png
│ ├── 19A.png
│ ├── 19h.png
│ ├── 1A.png
│ ├── 1h.png
│ ├── 2.png
│ ├── 20.png
│ ├── 20A.png
│ ├── 20h.png
│ ├── 2A.png
│ ├── 2h.png
│ ├── 3.png
│ ├── 3A.png
│ ├── 3h.png
│ ├── 4.png
│ ├── 4A.png
│ ├── 4h.png
│ ├── 5.png
│ ├── 5A.png
│ ├── 5h.png
│ ├── 6.png
│ ├── 6A.png
│ ├── 6h.png
│ ├── 7.png
│ ├── 7A.png
│ ├── 7h.png
│ ├── 8.png
│ ├── 8A.png
│ ├── 8h.png
│ ├── 9.png
│ ├── 9A.png
│ ├── 9h.png
│ ├── alarm.png
│ ├── alarmH.png
│ ├── close.png
│ ├── closeA.png
│ ├── closeH.png
│ ├── door.png
│ ├── down.png
│ ├── downH.png
│ ├── open.png
│ ├── openA.png
│ ├── openH.png
│ ├── slamDunk.jpg
│ ├── up.png
│ └── upH.png
└── 进程管理 - 电梯调度_设计方案报告.md
/README.md:
--------------------------------------------------------------------------------
1 | # Operating System–Course Design
2 |
3 | **操作系统课程设计(Course project of Operating System)**
4 |
5 | * [进程管理——模拟电梯调度(Process Management)](https://github.com/Kerr99899/Operating-System/tree/master/%E8%BF%9B%E7%A8%8B%E7%AE%A1%E7%90%86%E9%A1%B9%E7%9B%AE-%E6%A8%A1%E6%8B%9F%E7%94%B5%E6%A2%AF%E8%B0%83%E5%BA%A6)
6 | * [内存管理——请求分页分配方式(Memory Managament)](https://github.com/Kerr99899/Operating-System/tree/master/%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86-%E8%AF%B7%E6%B1%82%E5%88%86%E9%A1%B5%E5%88%86%E9%85%8D%E6%96%B9%E5%BC%8F%E6%A8%A1%E6%8B%9F)
7 | * [文件管理——模拟文件系统(File Management)](https://github.com/Kerr99899/Operating-System/tree/master/%E6%96%87%E4%BB%B6%E7%AE%A1%E7%90%86-%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F)
8 |
9 | ## Author
10 |
11 | Name: Yiteng Zhang
12 |
13 | Email: kerr99801@gmail.com
14 |
15 |
16 |
--------------------------------------------------------------------------------
/内存管理-请求分页分配方式模拟/README.md:
--------------------------------------------------------------------------------
1 | # 内存管理-请求分页分配方式
2 |
3 | ## 开发环境
4 |
5 | * **开发环境** Windows 10
6 | * **开发软件** Eclipse
7 | * **开发语言** JavaSE (jdk1.8.0_241)
8 | * **开发工具包** Swing
9 |
10 | ## 项目结构
11 |
12 | ```
13 | │ memory.exe
14 | │ memory.jar
15 | │ README.md
16 | │ 内存管理 - 请求分页分配方式模拟.md
17 | │ 内存管理 - 请求分页分配方式模拟.pdf
18 | │
19 | └─src
20 | ├─Component
21 | │ AlgSelectBar.java
22 | │ Block.java
23 | │ EventListener.java
24 | │ Memory.java
25 | │ Moniter.java
26 | │ Page.java
27 | │ SpeedSlider.java
28 | │ WaitingList.java
29 | │
30 | └─UI
31 | MainFrame.java
32 | ```
33 |
34 |
35 |
36 | ## 操作说明
37 |
38 | * 双击目录下的`memory.jar`(或`memory.exe`)文件进入模拟界面
39 |
40 | * 点击exe文件可能出现如下警告 -> 点击确定即可
41 |
42 | 
43 |
44 | 
45 |
46 | * 在右上角的选项条中选择置换算法
47 |
48 | * FIFO-先进先出算法(默认值)
49 | * LRU-最近最少使用页面淘汰算法
50 |
51 | 
52 |
53 | * 点击开始模拟
54 |
55 | 
56 |
57 | * 滑动调节速度的滑块可以调整模拟速度
58 |
59 | 
60 |
61 | * 慢速条件下可以看清**模拟调页的过程**
62 |
63 | 
64 |
65 | * 快速条件下可以快速得到最终的结果——**缺页率**
66 |
67 | 
68 |
69 | * 点击数据清零可以清除本轮模拟产生的数据以进行下一轮模拟
70 |
71 | 
72 |
73 |
74 |
75 | ## 作者
76 |
77 | **姓名** Kerr
78 |
79 | **联系方式** email:kerr99801@gmail.com
--------------------------------------------------------------------------------
/内存管理-请求分页分配方式模拟/memory.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/内存管理-请求分页分配方式模拟/memory.exe
--------------------------------------------------------------------------------
/内存管理-请求分页分配方式模拟/memory.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/内存管理-请求分页分配方式模拟/memory.jar
--------------------------------------------------------------------------------
/内存管理-请求分页分配方式模拟/src/Component/AlgSelectBar.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/内存管理-请求分页分配方式模拟/src/Component/AlgSelectBar.java
--------------------------------------------------------------------------------
/内存管理-请求分页分配方式模拟/src/Component/Block.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/内存管理-请求分页分配方式模拟/src/Component/Block.java
--------------------------------------------------------------------------------
/内存管理-请求分页分配方式模拟/src/Component/EventListener.java:
--------------------------------------------------------------------------------
1 | package Component;
2 |
3 | import java.awt.event.ActionEvent;
4 | import java.awt.event.ActionListener;
5 |
6 | public class EventListener implements ActionListener {
7 | public void actionPerformed(ActionEvent e) {
8 | System.out.println("I'm listening!");
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/内存管理-请求分页分配方式模拟/src/Component/Memory.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/内存管理-请求分页分配方式模拟/src/Component/Memory.java
--------------------------------------------------------------------------------
/内存管理-请求分页分配方式模拟/src/Component/Moniter.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/内存管理-请求分页分配方式模拟/src/Component/Moniter.java
--------------------------------------------------------------------------------
/内存管理-请求分页分配方式模拟/src/Component/Page.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/内存管理-请求分页分配方式模拟/src/Component/Page.java
--------------------------------------------------------------------------------
/内存管理-请求分页分配方式模拟/src/Component/SpeedSlider.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/内存管理-请求分页分配方式模拟/src/Component/SpeedSlider.java
--------------------------------------------------------------------------------
/内存管理-请求分页分配方式模拟/src/Component/WaitingList.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/内存管理-请求分页分配方式模拟/src/Component/WaitingList.java
--------------------------------------------------------------------------------
/内存管理-请求分页分配方式模拟/src/UI/MainFrame.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/内存管理-请求分页分配方式模拟/src/UI/MainFrame.java
--------------------------------------------------------------------------------
/内存管理-请求分页分配方式模拟/内存管理 - 请求分页分配方式模拟.md:
--------------------------------------------------------------------------------
1 | # 内存管理-请求分页分配方式-设计方案报告
2 |
3 | **目录**
4 |
5 | [TOC]
6 |
7 |
8 |
9 | ## 1. 项目需求
10 |
11 | ### 1.1 基本任务
12 |
13 | 假设每个页面可存放10条指令,分配给一个作业的内存块为4。模拟一个作业的执行过程,该作业有320条指令,即它的地址空间为32页,目前所有页还没有调入内存。
14 |
15 | ### 1.2 功能描述
16 |
17 | - 在模拟过程中,如果所访问指令在内存中,则显示其物理地址,并转到下一条指令;如果没有在内存中,则发生缺页,此时需要记录缺页次数,并将其调入内存。如果4个内存块中已装入作业,则需进行页面置换。
18 |
19 | - 所有320条指令执行完成后,计算并显示作业执行过程中发生的缺页率。
20 |
21 | - 置换算法可以选用FIFO或者LRU算法
22 |
23 | - 作业中指令访问次序可以按照下面原则形成:
24 |
25 | 50%的指令是顺序执行的,25%是均匀分布在前地址部分,25%是均匀分布在后地址部分
26 |
27 | ### 1.3 项目目的
28 |
29 | - 理解页面、页表、地址转换
30 | - 体会页面置换过程
31 | - 加深对请求调页系统的原理和实现过程的理解。
32 |
33 |
34 |
35 | ## 2. 开发环境
36 |
37 | * **开发环境:**Windows 10
38 | * **开发软件:**Eclipse
39 | * **开发语言:**JavaSE (jdk1.8.0_241)
40 | * **开发工具包:**Swing
41 |
42 |
43 |
44 | ## 3. 项目结构
45 |
46 | ```
47 | │ memory.exe
48 | │ memory.jar
49 | │ README.md
50 | │ 内存管理 - 请求分页分配方式模拟.md
51 | │ 内存管理 - 请求分页分配方式模拟.pdf
52 | │
53 | └─src
54 | ├─Component
55 | │ AlgSelectBar.java
56 | │ Block.java
57 | │ EventListener.java
58 | │ Memory.java
59 | │ Moniter.java
60 | │ Page.java
61 | │ SpeedSlider.java
62 | │ WaitingList.java
63 | │
64 | └─UI
65 | MainFrame.java│ memory.jar
66 | │ memory.exe
67 | │ README.md
68 | │ 请求分区分配方式模拟_设计方案报告.md
69 | │ 请求分区分配方式模拟_设计方案报告.pdf
70 | │
71 | └─src
72 | ├─component
73 | │ AlgSelectBar.java
74 | │ Block.java
75 | │ EventListener.java
76 | │ Memory.java
77 | │ Moniter.java
78 | │ Page.java
79 | │ SpeedSlider.java
80 | │ WaitingList.java
81 | └─UI
82 | MainFrame.java
83 | ```
84 |
85 |
86 |
87 | ## 4. 操作说明
88 |
89 | * 双击目录下的`memory.jar`(或`memory.exe`)文件进入模拟界面
90 |
91 | * 点击exe文件可能出现如下警告 -> 点击确定即可
92 |
93 | 
94 |
95 | 
96 |
97 | * 在右上角的选项条中选择置换算法
98 |
99 | * FIFO-先进先出算法(默认值)
100 | * LRU-最近最少使用页面淘汰算法
101 |
102 | 
103 |
104 | * 点击开始模拟
105 |
106 | 
107 |
108 | * 滑动调节速度的滑块可以调整模拟速度
109 |
110 | 
111 |
112 | * 慢速条件下可以看清**模拟调页的过程**
113 |
114 | 
115 |
116 | * 快速条件下可以快速得到最终的结果——**缺页率**
117 |
118 | 
119 |
120 | * 点击数据清零可以清除本轮模拟产生的数据以进行下一轮模拟
121 |
122 | 
123 |
124 |
125 |
126 | ## 5. 系统分析
127 |
128 | ### 5.1 置换算法
129 |
130 | #### 5.1.1 FIFO算法
131 |
132 | - **当前页面已经在内存中** => 不需要进行调度,直接显示指令所在地址
133 | - 当**内存中页面数小于分配给一个进程的内存容量(4页)**时 => 直接将页面顺序加入到内存的空闲块中,然后显示指令所在地址
134 | - 当**内存满**时 => 每次替换掉最早进入内存块中的逻辑页面
135 | - 维护一个变量`turn`,每次执行一条指令,turn就自增1、模4,用来指定调出哪一块物理页中的逻辑页
136 | - `turn==0`调出0号页面中的内容,将需要用的页调入物理0页
137 | - `turn==1`调出1号页面中的内容,将需要用的页调入物理1页
138 | - `turn==2`调出2号页面中的内容,将需要用的页调入物理2页
139 | - `turn==3`调出3号页面中的内容,将需要用的页调入物理3页
140 |
141 |
142 |
143 | #### 5.1.2 LRU算法
144 |
145 | - **当前页面已经在内存中** => 不需要进行调度,直接显示指令所在地址
146 | - 当**内存中页面数小于分配给一个进程的内存容量(4页)**时 => 直接将页面顺序加入到内存的空闲块中,然后显示指令所在地址
147 | - 当**内存满**时 => 每次替换掉最近最少使用的内存块中的页面
148 | - 用一个数组记录每个物理页的空闲次数
149 | - 每执行一条指令,未用到的物理页对应的空闲次数加一
150 | - 被执行到的指令所在的物理页空闲次数清零
151 | - 当遇到需要调页的情况时,选取空闲次数最多的页将其调出,将需要用到的页调入,并置该页的空闲次数为0,其余加一
152 |
153 | ### 5.2 指令产生方式
154 |
155 | 为了保证320条指令能够随机产生、均匀分布,模拟过程采用了下面这种循环产生指令的方式:
156 |
157 | 1. 在0~319条指令之间,随机选取一个起始执行指令,如序号为$m$
158 | 2. 顺序执行下一条指令,即序号为$m+1$的指令
159 | 3. 通过随机数,跳转到前地址部分0~$(m-1)$中的某个指令处,其序号为$m_1$
160 | * 若前面已经没有尚未执行的指令,则在全局范围内产生随机数,直到找到一个还未执行的指令
161 | 4. 顺序执行后面第一条未执行的指令,即序号为$m_1$+n的指令
162 | 5. 通过随机数,跳转到后地址部分$(m_1+n+1)$~319中的某条指令处,其序号为$m_2$
163 | * 若后面已经没有尚未执行的指令,则在全局范围内产生随机数,直到找到一个还未执行的指令
164 | 6. 顺序执行后面第一条未执行的指令,即序号为$m_2+n$的指令
165 | 7. 重复3~7的步骤直到执行完320条指令
166 |
167 |
168 |
169 | ## 6. 系统设计
170 |
171 | ### 6.1 类设计
172 |
173 | #### 6.1.1 算法选择条(AlgSelectBar)
174 |
175 |
176 |
177 | #### 6.1.2 页内代码块(Block)
178 |
179 | ```java
180 | public class Block extends JLabel {
181 | public Block() {
182 | setLayout(null);//设置布局方式
183 | setText("NULL");//设置初始文字
184 | setHorizontalAlignment(SwingConstants.CENTER);
185 | this.setBackground(new Color(88,201,185));
186 | setOpaque(true);
187 | setForeground(Color.white);
188 | setFont(new Font("楷体", Font.BOLD, 20));
189 | }
190 | }
191 | ```
192 |
193 | #### 6.1.3 事件监听(EventListener)
194 |
195 | ```java
196 | public class EventListener implements ActionListener {
197 | public void actionPerformed(ActionEvent e) {
198 | System.out.println("I'm listening!");
199 | }
200 | }
201 | ```
202 |
203 | #### 6.1.4 内存(Memory)
204 |
205 |
206 |
207 | ##### 6.1.4.1 调度算法(dispatchPage)
208 |
209 | ```java
210 | public void dispatchPage(int physicPage, int logicalPage) {
211 | this.pages[physicPage].change(logicalPage);
212 | }
213 | ```
214 |
215 | ##### 6.1.4.2 检查内存中是否目标代码(check)
216 |
217 | ```java
218 | public int check(int num) {
219 | //检查是否有num对应的页在内存中
220 | //有则返回该页
221 | //否则返回-1
222 | for (int i = 0; i < 4; i++) {
223 | if (this.pages[i].lPage == num / 10) {
224 | return i;
225 | }
226 | }
227 | return -1;
228 | }
229 | ```
230 |
231 |
232 |
233 | ##### 6.1.4.3 清除内存(clear)
234 |
235 | ```java
236 | public void clear() {
237 | // 清空内存
238 | for (int i = 0; i < 4; i++) {
239 | pages[i].clear();
240 | }
241 | }
242 | ```
243 |
244 | #### 6.1.5 显示器(Moniter)
245 |
246 | 
247 |
248 | #### 6.1.6 页(Page)
249 |
250 | 
251 |
252 | #### 6.1.7 速度选择滑块(SpeedSlider)
253 |
254 | 
255 |
256 | ### 6.2 组件设计
257 |
258 | * **窗体模型:** ```Java. Swing. JFrame```
259 | * **内存模型:**``Memory`` 继承面板父类``Java. Swing. JPanel``
260 | * 页 ``component. Page``
261 | * 逻辑页号及物理页号 ``Java. Swing. JLabel``
262 | * 内存文字 ``Java. Swing. JLabel``
263 | * **开始、清零按钮:**` Java.Swing.JButton`
264 | * **速度选择条**:`Java.Swing.JSlider`
265 | * **算法选择框:**`Java.Swing.JPanel`
266 | * 标题`Java.Swing.JPanel`
267 | * 选择条`Java.Swing.JList`
268 | * **等待执行队列:**`Java.Swing.JPanel`
269 | * 指令`Java.Swing.JLabel`
270 | * 标题`Java.Swing.JLabel`
271 | * **数码显示器:**`Java.Swing.JPanel`
272 |
273 |
274 |
275 | ## 7. 系统实现
276 |
277 | ### 7.1 320条指令的产生方式(MainFrame.next())
278 |
279 | * 先在320条指令中随机产生一条指令
280 | * 第偶数条指令随机产生,其中
281 | * 第偶数条随机产生的指令从上一条指令之前产生
282 | * 第奇数条随机产生的指令从上一条指令之后产生
283 | * 模拟过程接近尾声时,大部分指令已经被执行过,容易出现在上一条指令执行之前或之后已经没有未执行的指令的情况,此时可以在整个指令范围内生成新的随机指令,直到找到一条可以执行的指令为止
284 | * 第奇数条指令顺序执行
285 | * 从上一条指令之后开始逐个向后找,找到第一个未执行的指令就返回该条指令的编号
286 | * 可能出现编号大于319的情况,故需要让指令编号对319做模运算,也即最后找不到合适的指令就从头循环找
287 |
288 | ```java
289 | public int next(int cnt, int last) {
290 | //cnt——产生的第几个随机数[0,319]
291 | //last——上一条执行的指令序号
292 | //返回下一条执行的指令序号next
293 | int next = -1;
294 |
295 | //上一条是-1表示当前是第一条指令
296 | //则从0~319中随机产生一条
297 | if (last == -1) {
298 | next = (int) (Math.random() * 320);
299 | return next;
300 | }
301 |
302 | //第偶数条指令随机产生
303 | if (cnt % 2 == 0) {
304 | //第偶数条随机产生的指令从last前面产生
305 | if ((cnt / 2) % 2 == 0) {
306 | next = (int) (Math.random() * last);
307 | int times = 0;
308 | while (true == this.ins[next]) {
309 | times++;
310 | next = (int) (Math.random() * last);
311 | //如果last前面全部执行过了
312 | //就从所有指令中随机产生下一条
313 | if (times > last - 1) {
314 | while (true == this.ins[next]) {
315 | next = (int) (Math.random() * 320);
316 | }
317 | }
318 | }
319 | //修改记录的标签位表示此指令已执行过
320 | this.ins[next] = true;
321 | }
322 | //第奇数条随机产生的指令从last后面产生
323 | else {
324 | next = (int) (last + Math.random() * (320 - last));
325 | int times = 0;
326 | while (true == this.ins[next]) {
327 | times++;
328 | next = (int) (last + Math.random() * (320 - last));
329 | //如果last后面全部执行过了
330 | //就从所有指令中随机产生下一条
331 | if (times > (319 - last)) {
332 | while (true == this.ins[next]) {
333 | next = (int) (Math.random() * 320);
334 | }
335 | }
336 | }
337 | //修改记录的标签位表示此指令已执行过
338 | this.ins[next] = true;
339 | }
340 | }
341 | //第奇数条指令顺序产生——last之后第一条未执行的指令
342 | else {
343 | next = last + 1;
344 | //如果超过319则需要对320进行模运算
345 | //循环到最前面
346 | if (next > 319) {
347 | next = next % 320;
348 | }
349 | while (true == this.ins[next]) {
350 | next++;
351 | if (next > 319) {
352 | next = next % 320;
353 | }
354 | }
355 | //修改记录的标签位表示此指令已执行过
356 | this.ins[next] = true;
357 | }
358 | return next;
359 | }
360 | ```
361 |
362 |
363 |
364 | ### 7.2 执行一条指令
365 |
366 | * 初始情况先随机产生4条指令,放入等待队列(因为可视化的等待队列中可以放4条指令)
367 | * 然后进行如下循环直到执行完全部的320条指令
368 | * 执行等待队列中最前面的一条指令
369 | * 在内存中 -> 显示该指令的物理地址(左侧内存块中高亮显示+右侧显示器显示该指令在内存i页中,无需调页)
370 | * 不在内存中 -> 按照用户所选算法(FIFO/LRU)将需要的页调入内存,然后在左侧内存中高亮显示,显示器显示i页调入内存,j页调出内存
371 | * 产生一条新指令,并加入等待队列
372 | * 休眠一段时间(由速度滑块决定)以方便用户观察调页过程
373 |
374 |
375 |
376 | #### 7.2.1 执行过程
377 |
378 | ```java
379 | new Thread(new Runnable() {
380 | // 要实时更新JLabel,所以需要单独开一个线程来刷新线程
381 | public void run() {
382 | MainFrame.clearButton.setEnabled(false);// 模拟过程中禁止点击清空按钮
383 | // 先生成前四个,加到等待队列
384 | for (int i = 0; i < 4; i++) {
385 | num = next(i, num);
386 | waitingList.turn(num);
387 | }
388 |
389 | // 逐个执行320条指令
390 | for (int i = 0; i < 320; i++) {
391 | /*
392 | * 此处是 FIFO 或 LRU
393 | */
394 | // 产生下一个待执行指令
395 | if (i < 316) {
396 | num = next(i, waitingList.insNum[3]);
397 | // 修改等待队列
398 | waitingList.turn(num);
399 | } else {
400 | waitingList.turn(-1);
401 | }
402 |
403 | // 休眠一段时间以方便观察
404 | try {
405 | Thread.sleep(speed);
406 | } catch (InterruptedException e) {
407 | // TODO Auto-generated catch block
408 | e.printStackTrace();
409 | }
410 | }
411 | // 显示结果——缺页率
412 | Moniter.setResult(((double) cnt_miss / (double) 320));
413 | // 恢复清零按钮的功能
414 | MainFrame.clearButton.setEnabled(true);
415 | }
416 | }).start();
417 | ```
418 |
419 | #### 7.2.2 调度算法
420 |
421 | ##### FIFO
422 |
423 | * 先进先出相当于物理页轮流调出其存储的逻辑页,故申请一个`int`型数据`turn`用来记录轮转到哪一页
424 | * 遇到需要调页的情况直接将第turn个物理页所存放的逻辑页调出,调入所需页即可
425 |
426 | ```java
427 | int cnt_miss = 0;// 记录缺页次数
428 | int turn = 0;// 先进先出相当于物理页轮流调出其存储的逻辑页,turn用来记录轮转到哪一页
429 | int num = -1;// 当前要执行的指令的编号
430 | num = waitingList.insNum[0];
431 | // 判断在不在里面
432 | if (memory.check(num) != -1) {
433 | // 在内存中,显示信息
434 | show(memory.check(num), num, true, -1);
435 | } else {
436 | // 不在内存中,调度
437 | show(memory.check(num), num, false, turn);
438 | memory.dispatchPage(turn, num / 10);
439 |
440 | // 高亮显示目标指令所在位置
441 | Memory.pages[turn].blocks[num % 10].setBackground(new Color(209, 182, 225));
442 | try {
443 | Thread.sleep(speed);
444 | } catch (InterruptedException e) {
445 | // TODO Auto-generated catch block
446 | e.printStackTrace();
447 | }
448 | Memory.pages[turn].blocks[num % 10].setBackground(new Color(88, 201, 185));
449 |
450 | // 修改相应计数器
451 | turn++;
452 | cnt_miss++;
453 | if (turn > 3) {
454 | turn = turn % 4;
455 | }
456 | }
457 | ```
458 |
459 | ##### LRU
460 |
461 | * 申请一个`int`型数组`free`用来记录每个物理页的空闲次数
462 | * 每当遇到要调出页的时候选取空闲次数最多的页调出
463 | * 每执行一条指令就将所有物理页的空闲次数加一,然后将使用到的页的空闲次数置为0
464 |
465 | ```java
466 | int cnt_miss = 0;// 记录缺页次数
467 | int[] free = new int[4];// 记录每个物理页的空闲次数
468 | int num = -1;// 当前要执行的指令的编号
469 | num = waitingList.insNum[0];
470 | // 判断在不在里面
471 | if (memory.check(num) != -1) {
472 | // 在内存中
473 | // 现将各页闲置次数加一
474 | for (int j = 0; j < 4; j++) {
475 | free[j]++;
476 | }
477 | // 再将当前执行的页限制次数置为零
478 | free[memory.check(num)] = 0;
479 | // 显示信息
480 | show(memory.check(num), num, true, -1);
481 | } else {
482 | // 不在内存中,调度
483 | int turn = 0;// 要调度的页的物理页号
484 | int longest = 0;// 最长闲置时间
485 | // 判断调度哪一页
486 | for (int j = 0; j < 4; j++) {
487 | if (free[j] > longest) {
488 | turn = j;
489 | longest = free[j];
490 | }
491 | }
492 | // 现将各页闲置次数加一
493 | for (int j = 0; j < 4; j++) {
494 | free[j]++;
495 | }
496 | // 再将当前执行的页限制次数置为零
497 | free[turn] = 0;
498 | // 显示信息
499 | show(memory.check(num), num, false, turn);
500 | // 调度
501 | memory.dispatchPage(turn, num / 10);
502 | // 高亮显示目标指令所在位置
503 | Memory.pages[turn].blocks[num % 10].setBackground(new Color(209, 182, 225));
504 | try {
505 | Thread.sleep(speed);
506 | } catch (InterruptedException e) {
507 | // TODO Auto-generated catch block
508 | e.printStackTrace();
509 | }
510 | Memory.pages[turn].blocks[num % 10].setBackground(new Color(88, 201, 185));
511 |
512 | // 修改相应计数器
513 | cnt_miss++;
514 | }
515 | ```
516 |
517 |
518 |
519 | ### 7.3 更新等待队列(WaitingList.turn())
520 |
521 | * 将前面三个还未执行的指令依次向前移动
522 | * 将新产生的指令加到队列尾部
523 |
524 | ```java
525 | public void turn(int newIns) {
526 | for (int i = 0; i < 3; i++) {
527 | // 还未执行的前三个逐个前移
528 | insNum[i] = insNum[i + 1];
529 | lists[i].setText("" + insNum[i]);
530 | }
531 | // 新来的指令加在最后
532 | insNum[3] = newIns;
533 | lists[3].setText("" + insNum[3]);
534 | return;
535 | }
536 | ```
537 |
538 |
539 |
540 | ### 7.5 打印信息(MainFrame.show())
541 |
542 | ```java
543 | // 展示在内存中的信息
544 | public void show(int pageNum, int num, boolean tag, int remove) {
545 | /*
546 | * pageNum——物理页号
547 | * num——指令编码
548 | * tag——是否命中
549 | * remove——调出页的页号
550 | */
551 | if (tag) {
552 | // 如果命中
553 | this.moniter.showInf(num, true, -1);// 展示信息
554 | // 高亮显示指令所在位置
555 | this.memory.pages[pageNum].blocks[num % 10].setBackground(new Color(209, 182, 225));
556 | try {
557 | Thread.sleep(speed);
558 | } catch (InterruptedException e) {
559 | // TODO Auto-generated catch block
560 | e.printStackTrace();
561 | }
562 | this.memory.pages[pageNum].blocks[num % 10].setBackground(new Color(88, 201, 185));
563 | } else {
564 | // 缺页
565 | int rem = this.memory.pages[remove].lPage;// 计算所调的逻辑页郝
566 | this.moniter.showInf(num / 10, false, rem);// 显示调页信息
567 | }
568 | }
569 | ```
570 |
571 | ```java
572 | public void showInf(int ins,boolean IsContained,int remove) {
573 | /*
574 | * ins——当前执行代码所在的逻辑页页号
575 | * IsContained——该页是否在内存中
576 | * remove——将要移出的逻辑页页号
577 | */
578 | if(IsContained) {
579 | // 在内存中,显示信息
580 | this.result.setText("第"+ins+"页在内存中,不需要调度");
581 | this.inf.setText("");
582 | }else {
583 | // 不在内存中,显示信息
584 | this.result.setText("调出第"+remove+"页,调入第"+ins+"页");
585 | this.inf.setText("");
586 | }
587 | }
588 | ```
589 |
590 | ```java
591 | static public void setResult(double rateOfMiss) {
592 | result.setText("缺页率:"+rateOfMiss*100+"%");
593 | }
594 | ```
595 |
596 |
597 |
598 | ### 7.6 数据清零(MainFrame.clear())
599 |
600 | 主类中的`clear`函数分别调用内存、显示器和等待队列的`clear`函数,从而将所有组件恢复到初始状态。
601 |
602 | ```java
603 | // clear
604 | public void clear() {
605 | waitingList.lists[0].setBackground(new Color(88, 201, 185));// 清除等待队列的高亮
606 | MainFrame.startButton.setEnabled(true);// 恢复开始按钮
607 | this.memory.clear();// 清除内存
608 | this.moniter.clear();// 清除显示器
609 | this.waitingList.clear();// 清空等待队列
610 | // 清除标识位
611 | for (int i = 0; i < 320; i++) {
612 | this.ins[i] = false;
613 | }
614 | }
615 | ```
616 |
617 | ```java
618 | // Memory.clear()
619 | public void clear() {
620 | // 清空内存
621 | for (int i = 0; i < 4; i++) {
622 | pages[i].clear();
623 | }
624 | }
625 |
626 | // Page.clear()
627 | public void clear() {
628 | // 清空页
629 | for (int i = 0; i < 10; i++) {
630 | blocks[i].setText("NULL");
631 | }
632 | lPage = -1;
633 | this.logicalPage.setText("逻辑"+lPage+"页");
634 | }
635 | ```
636 |
637 | ```java
638 | // Moniter.clear()
639 | public void clear() {
640 | // 清空显示器
641 | this.result.setText("");
642 | this.inf.setText("");
643 | }
644 | ```
645 |
646 | ```java
647 | // WaitingList.clear()
648 | public void clear() {
649 | // 清空等待列表
650 | for (int i = 0; i < 4; i++) {
651 | this.insNum[i] = -1;
652 | this.lists[i].setText("" + insNum[i]);
653 | }
654 | }
655 | ```
656 |
657 |
658 |
659 | ### 7.7 模拟速度调节
660 |
661 | * `MainFrame`中有一个静态属性`static public int speed = 509;`用来表示模拟速度,`speed`默认值509,由滑动条动态改变
662 |
663 | * 指令执行过程每执行一条指令就有一个休眠时间,通过改变`speed`来修改休眠时间长短,从而达到调节模拟速度的目的
664 |
665 | ```java
666 | // 休眠一段时间以方便观察
667 | try {
668 | Thread.sleep(speed);
669 | } catch (InterruptedException e) {
670 | // TODO Auto-generated catch block
671 | e.printStackTrace();
672 | }
673 | ```
674 |
675 | * 在`MainFrame`中添加速度滑块,并添加事件监听
676 |
677 | ```java
678 | // 添加速度滑块
679 | SpeedSlider speedSlider = new SpeedSlider();
680 | this.getContentPane().add(speedSlider);
681 | speedSlider.setLocation(597, 420);
682 | speedSlider.speed_.addChangeListener(new ChangeListener() {
683 | public void stateChanged(ChangeEvent e) {
684 | MainFrame.speed = 1009 - speedSlider.speed_.getValue();
685 | }
686 | });
687 | ```
688 |
689 |
690 |
691 | ## 8. 功能实现截屏演示
692 |
693 | * **初始界面**
694 |
695 | 
696 |
697 | * **选择模拟方式及速度**
698 |
699 | 
700 |
701 |
702 |
703 | * **模拟过程**
704 |
705 | * 命中
706 |
707 | 
708 |
709 | * 缺页
710 |
711 | 
712 |
713 | * 加快模拟速度得出结果
714 |
715 | 
716 |
717 |
718 |
719 | ## 9. 实验结果分析
720 |
721 | ### 9.1 使用FIFO算法的十次模拟结果
722 |
723 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 平均缺页率 |
724 | | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ---------- |
725 | | 54.1% | 51.9% | 53.8% | 55.9% | 53.1% | 52.2% | 53.4% | 55.9% | 52.8% | 54.4% | 53.75% |
726 |
727 | ### 9.2 使用LRU算法的十次模拟结果
728 |
729 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 平均缺页率 |
730 | | ----- | ----- | ------ | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ---------- |
731 | | 52.8% | 53.8% | 49.69% | 50.9% | 53.4% | 51.6% | 54.4% | 53.1% | 54.1% | 55.0% | 52.88% |
732 |
733 | ### 9.3 分析
734 |
735 | * 开始做这个项目之前,我大致预判了一下按照 随机-顺序-随机-顺序……这样的执行方式,缺页率应该在50%左右,做好之后发现两种算法都在50%以上,仔细分析了一下发现
736 | * 随机产生新指令大概率不会命中
737 | * 顺序执行大部分情况下可以命中,但执行次数多了之后,顺序找下一条未执行的指令时往往需要往后找很多条,就可能出现跨两个页的情况(如125和132),此时一般会出现不命中
738 | * 因此综合考虑这两点影响因素平均缺页率在50%以上是合理的
739 | * 理论上讲LRU算法是优于FIFO算法的,缺页率相对较低,实验结果也证实了这一点,虽然LRU算法偶尔会出现57%~59%,但总体平均下来还是优于FIFO的。
740 |
741 |
742 |
743 | ## 作者
744 |
745 | **姓名:**Kerr
746 |
747 | **联系方式:**kerr99801@gmail.com
748 |
749 |
--------------------------------------------------------------------------------
/文件管理-文件系统/MyFileSystem.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/文件管理-文件系统/MyFileSystem.exe
--------------------------------------------------------------------------------
/文件管理-文件系统/MyFileSystem.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/文件管理-文件系统/MyFileSystem.jar
--------------------------------------------------------------------------------
/文件管理-文件系统/README.md:
--------------------------------------------------------------------------------
1 | # 模拟文件管理系统
2 |
3 | ## 开发环境
4 |
5 | - **开发环境:** Windows 10
6 | - **开发软件:** Eclipse
7 | - **开发语言:** JavaSE (jdk1.8.0_241)
8 | - **开发工具包:** Swing
9 |
10 | ## 操作说明
11 |
12 | * 在**文件夹内**双击运行`MyFileSystem.exe`,进入文件管理模拟系统如下图
13 |
14 | 
15 |
16 | * 选中文件夹,右键显示操作列表,如下图所示
17 |
18 | 
19 |
20 | * 点击`新建文件夹`,在弹出的提示框内输入文件名,然后点击`确定`
21 |
22 | 
23 |
24 | * 输入文件大小,再次点击`确定`
25 |
26 | 
27 |
28 | * 系统将提示新建文件成功,再次点击`确定`
29 |
30 | 
31 |
32 | 删除、格式化、重命名等同理
33 |
34 | ## 项目结构
35 |
36 | ```
37 | │ MyFileSystem.exe
38 | │ MyFileSystem.jar
39 | │ README.md
40 | │ README.pdf
41 | │ 模拟文件管理系统-设计方案报告.pdf
42 | │
43 | ├─myFileSystem(模拟系统文件夹,请勿删除)
44 | │ │ ReadMe.txt
45 | │ │
46 | │ ├─1
47 | │ │ 1BitMap&&Fat.txt
48 | │ │ recover.txt
49 | │ │
50 | │ ├─2
51 | │ │ 2BitMap&&Fat.txt
52 | │ │ recover.txt
53 | │ │
54 | │ ├─3
55 | │ │ 3BitMap&&Fat.txt
56 | │ │ recover.txt
57 | │ │
58 | │ ├─4
59 | │ │ 4BitMap&&Fat.txt
60 | │ │ recover.txt
61 | │ │
62 | │ ├─5
63 | │ │ 5BitMap&&Fat.txt
64 | │ │ recover.txt
65 | │ │
66 | │ ├─6
67 | │ │ 6BitMap&&Fat.txt
68 | │ │ mojito.txt
69 | │ │ recover.txt
70 | │ │
71 | │ ├─7
72 | │ │ 7BitMap&&Fat.txt
73 | │ │ recover.txt
74 | │ │
75 | │ ├─8
76 | │ │ 8BitMap&&Fat.txt
77 | │ │ recover.txt
78 | │ │
79 | │ └─9
80 | │ 9BitMap&&Fat.txt
81 | │ recover.txt
82 | │
83 | └─src
84 | ├─image
85 | │ document.png
86 | │ folder.png
87 | │
88 | ├─Java
89 | │ Folder.java
90 | │ myFiles.java
91 | │ MyFileSystem.java
92 | │ tableModel.java
93 | │
94 | └─myFileSystem
95 | ```
96 |
97 | ## 作者
98 |
99 | **姓名:** Kerr
100 |
101 | **联系方式:** email:kerr99801@gmail.com
102 |
103 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/1/1BitMap&&Fat.txt:
--------------------------------------------------------------------------------
1 | 00000000000000000000000000000000
2 | 00000000000000000000000000000000
3 | 00000000000000000000000000000000
4 | 00000000000000000000000000000000
5 | 00000000000000000000000000000000
6 | 00000000000000000000000000000000
7 | 00000000000000000000000000000000
8 | 00000000000000000000000000000000
9 | 00000000000000000000000000000000
10 | 00000000000000000000000000000000
11 | 00000000000000000000000000000000
12 | 00000000000000000000000000000000
13 | 00000000000000000000000000000000
14 | 00000000000000000000000000000000
15 | 00000000000000000000000000000000
16 | 00000000000000000000000000000000
17 | 00000000000000000000000000000000
18 | 00000000000000000000000000000000
19 | 00000000000000000000000000000000
20 | 00000000000000000000000000000000
21 | 00000000000000000000000000000000
22 | 00000000000000000000000000000000
23 | 00000000000000000000000000000000
24 | 00000000000000000000000000000000
25 | 00000000000000000000000000000000
26 | 00000000000000000000000000000000
27 | 00000000000000000000000000000000
28 | 00000000000000000000000000000000
29 | 00000000000000000000000000000000
30 | 00000000000000000000000000000000
31 | 00000000000000000000000000000000
32 | 00000000000000000000000000000000
33 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/1/recover.txt:
--------------------------------------------------------------------------------
1 | 0.0
2 | 0
3 | 0
4 | 0
5 | 0
6 | 0
7 | 0
8 | 0
9 | 0
10 | 0
11 | 0
12 | 0
13 | 0
14 | 0
15 | 0
16 | 0
17 | 0
18 | 0
19 | 0
20 | 0
21 | 0
22 | 0
23 | 0
24 | 0
25 | 0
26 | 0
27 | 0
28 | 0
29 | 0
30 | 0
31 | 0
32 | 0
33 | 0
34 | 0
35 | 0
36 | 0
37 | 0
38 | 0
39 | 0
40 | 0
41 | 0
42 | 0
43 | 0
44 | 0
45 | 0
46 | 0
47 | 0
48 | 0
49 | 0
50 | 0
51 | 0
52 | 0
53 | 0
54 | 0
55 | 0
56 | 0
57 | 0
58 | 0
59 | 0
60 | 0
61 | 0
62 | 0
63 | 0
64 | 0
65 | 0
66 | 0
67 | 0
68 | 0
69 | 0
70 | 0
71 | 0
72 | 0
73 | 0
74 | 0
75 | 0
76 | 0
77 | 0
78 | 0
79 | 0
80 | 0
81 | 0
82 | 0
83 | 0
84 | 0
85 | 0
86 | 0
87 | 0
88 | 0
89 | 0
90 | 0
91 | 0
92 | 0
93 | 0
94 | 0
95 | 0
96 | 0
97 | 0
98 | 0
99 | 0
100 | 0
101 | 0
102 | 0
103 | 0
104 | 0
105 | 0
106 | 0
107 | 0
108 | 0
109 | 0
110 | 0
111 | 0
112 | 0
113 | 0
114 | 0
115 | 0
116 | 0
117 | 0
118 | 0
119 | 0
120 | 0
121 | 0
122 | 0
123 | 0
124 | 0
125 | 0
126 | 0
127 | 0
128 | 0
129 | 0
130 | 0
131 | 0
132 | 0
133 | 0
134 | 0
135 | 0
136 | 0
137 | 0
138 | 0
139 | 0
140 | 0
141 | 0
142 | 0
143 | 0
144 | 0
145 | 0
146 | 0
147 | 0
148 | 0
149 | 0
150 | 0
151 | 0
152 | 0
153 | 0
154 | 0
155 | 0
156 | 0
157 | 0
158 | 0
159 | 0
160 | 0
161 | 0
162 | 0
163 | 0
164 | 0
165 | 0
166 | 0
167 | 0
168 | 0
169 | 0
170 | 0
171 | 0
172 | 0
173 | 0
174 | 0
175 | 0
176 | 0
177 | 0
178 | 0
179 | 0
180 | 0
181 | 0
182 | 0
183 | 0
184 | 0
185 | 0
186 | 0
187 | 0
188 | 0
189 | 0
190 | 0
191 | 0
192 | 0
193 | 0
194 | 0
195 | 0
196 | 0
197 | 0
198 | 0
199 | 0
200 | 0
201 | 0
202 | 0
203 | 0
204 | 0
205 | 0
206 | 0
207 | 0
208 | 0
209 | 0
210 | 0
211 | 0
212 | 0
213 | 0
214 | 0
215 | 0
216 | 0
217 | 0
218 | 0
219 | 0
220 | 0
221 | 0
222 | 0
223 | 0
224 | 0
225 | 0
226 | 0
227 | 0
228 | 0
229 | 0
230 | 0
231 | 0
232 | 0
233 | 0
234 | 0
235 | 0
236 | 0
237 | 0
238 | 0
239 | 0
240 | 0
241 | 0
242 | 0
243 | 0
244 | 0
245 | 0
246 | 0
247 | 0
248 | 0
249 | 0
250 | 0
251 | 0
252 | 0
253 | 0
254 | 0
255 | 0
256 | 0
257 | 0
258 | 0
259 | 0
260 | 0
261 | 0
262 | 0
263 | 0
264 | 0
265 | 0
266 | 0
267 | 0
268 | 0
269 | 0
270 | 0
271 | 0
272 | 0
273 | 0
274 | 0
275 | 0
276 | 0
277 | 0
278 | 0
279 | 0
280 | 0
281 | 0
282 | 0
283 | 0
284 | 0
285 | 0
286 | 0
287 | 0
288 | 0
289 | 0
290 | 0
291 | 0
292 | 0
293 | 0
294 | 0
295 | 0
296 | 0
297 | 0
298 | 0
299 | 0
300 | 0
301 | 0
302 | 0
303 | 0
304 | 0
305 | 0
306 | 0
307 | 0
308 | 0
309 | 0
310 | 0
311 | 0
312 | 0
313 | 0
314 | 0
315 | 0
316 | 0
317 | 0
318 | 0
319 | 0
320 | 0
321 | 0
322 | 0
323 | 0
324 | 0
325 | 0
326 | 0
327 | 0
328 | 0
329 | 0
330 | 0
331 | 0
332 | 0
333 | 0
334 | 0
335 | 0
336 | 0
337 | 0
338 | 0
339 | 0
340 | 0
341 | 0
342 | 0
343 | 0
344 | 0
345 | 0
346 | 0
347 | 0
348 | 0
349 | 0
350 | 0
351 | 0
352 | 0
353 | 0
354 | 0
355 | 0
356 | 0
357 | 0
358 | 0
359 | 0
360 | 0
361 | 0
362 | 0
363 | 0
364 | 0
365 | 0
366 | 0
367 | 0
368 | 0
369 | 0
370 | 0
371 | 0
372 | 0
373 | 0
374 | 0
375 | 0
376 | 0
377 | 0
378 | 0
379 | 0
380 | 0
381 | 0
382 | 0
383 | 0
384 | 0
385 | 0
386 | 0
387 | 0
388 | 0
389 | 0
390 | 0
391 | 0
392 | 0
393 | 0
394 | 0
395 | 0
396 | 0
397 | 0
398 | 0
399 | 0
400 | 0
401 | 0
402 | 0
403 | 0
404 | 0
405 | 0
406 | 0
407 | 0
408 | 0
409 | 0
410 | 0
411 | 0
412 | 0
413 | 0
414 | 0
415 | 0
416 | 0
417 | 0
418 | 0
419 | 0
420 | 0
421 | 0
422 | 0
423 | 0
424 | 0
425 | 0
426 | 0
427 | 0
428 | 0
429 | 0
430 | 0
431 | 0
432 | 0
433 | 0
434 | 0
435 | 0
436 | 0
437 | 0
438 | 0
439 | 0
440 | 0
441 | 0
442 | 0
443 | 0
444 | 0
445 | 0
446 | 0
447 | 0
448 | 0
449 | 0
450 | 0
451 | 0
452 | 0
453 | 0
454 | 0
455 | 0
456 | 0
457 | 0
458 | 0
459 | 0
460 | 0
461 | 0
462 | 0
463 | 0
464 | 0
465 | 0
466 | 0
467 | 0
468 | 0
469 | 0
470 | 0
471 | 0
472 | 0
473 | 0
474 | 0
475 | 0
476 | 0
477 | 0
478 | 0
479 | 0
480 | 0
481 | 0
482 | 0
483 | 0
484 | 0
485 | 0
486 | 0
487 | 0
488 | 0
489 | 0
490 | 0
491 | 0
492 | 0
493 | 0
494 | 0
495 | 0
496 | 0
497 | 0
498 | 0
499 | 0
500 | 0
501 | 0
502 | 0
503 | 0
504 | 0
505 | 0
506 | 0
507 | 0
508 | 0
509 | 0
510 | 0
511 | 0
512 | 0
513 | 0
514 | 0
515 | 0
516 | 0
517 | 0
518 | 0
519 | 0
520 | 0
521 | 0
522 | 0
523 | 0
524 | 0
525 | 0
526 | 0
527 | 0
528 | 0
529 | 0
530 | 0
531 | 0
532 | 0
533 | 0
534 | 0
535 | 0
536 | 0
537 | 0
538 | 0
539 | 0
540 | 0
541 | 0
542 | 0
543 | 0
544 | 0
545 | 0
546 | 0
547 | 0
548 | 0
549 | 0
550 | 0
551 | 0
552 | 0
553 | 0
554 | 0
555 | 0
556 | 0
557 | 0
558 | 0
559 | 0
560 | 0
561 | 0
562 | 0
563 | 0
564 | 0
565 | 0
566 | 0
567 | 0
568 | 0
569 | 0
570 | 0
571 | 0
572 | 0
573 | 0
574 | 0
575 | 0
576 | 0
577 | 0
578 | 0
579 | 0
580 | 0
581 | 0
582 | 0
583 | 0
584 | 0
585 | 0
586 | 0
587 | 0
588 | 0
589 | 0
590 | 0
591 | 0
592 | 0
593 | 0
594 | 0
595 | 0
596 | 0
597 | 0
598 | 0
599 | 0
600 | 0
601 | 0
602 | 0
603 | 0
604 | 0
605 | 0
606 | 0
607 | 0
608 | 0
609 | 0
610 | 0
611 | 0
612 | 0
613 | 0
614 | 0
615 | 0
616 | 0
617 | 0
618 | 0
619 | 0
620 | 0
621 | 0
622 | 0
623 | 0
624 | 0
625 | 0
626 | 0
627 | 0
628 | 0
629 | 0
630 | 0
631 | 0
632 | 0
633 | 0
634 | 0
635 | 0
636 | 0
637 | 0
638 | 0
639 | 0
640 | 0
641 | 0
642 | 0
643 | 0
644 | 0
645 | 0
646 | 0
647 | 0
648 | 0
649 | 0
650 | 0
651 | 0
652 | 0
653 | 0
654 | 0
655 | 0
656 | 0
657 | 0
658 | 0
659 | 0
660 | 0
661 | 0
662 | 0
663 | 0
664 | 0
665 | 0
666 | 0
667 | 0
668 | 0
669 | 0
670 | 0
671 | 0
672 | 0
673 | 0
674 | 0
675 | 0
676 | 0
677 | 0
678 | 0
679 | 0
680 | 0
681 | 0
682 | 0
683 | 0
684 | 0
685 | 0
686 | 0
687 | 0
688 | 0
689 | 0
690 | 0
691 | 0
692 | 0
693 | 0
694 | 0
695 | 0
696 | 0
697 | 0
698 | 0
699 | 0
700 | 0
701 | 0
702 | 0
703 | 0
704 | 0
705 | 0
706 | 0
707 | 0
708 | 0
709 | 0
710 | 0
711 | 0
712 | 0
713 | 0
714 | 0
715 | 0
716 | 0
717 | 0
718 | 0
719 | 0
720 | 0
721 | 0
722 | 0
723 | 0
724 | 0
725 | 0
726 | 0
727 | 0
728 | 0
729 | 0
730 | 0
731 | 0
732 | 0
733 | 0
734 | 0
735 | 0
736 | 0
737 | 0
738 | 0
739 | 0
740 | 0
741 | 0
742 | 0
743 | 0
744 | 0
745 | 0
746 | 0
747 | 0
748 | 0
749 | 0
750 | 0
751 | 0
752 | 0
753 | 0
754 | 0
755 | 0
756 | 0
757 | 0
758 | 0
759 | 0
760 | 0
761 | 0
762 | 0
763 | 0
764 | 0
765 | 0
766 | 0
767 | 0
768 | 0
769 | 0
770 | 0
771 | 0
772 | 0
773 | 0
774 | 0
775 | 0
776 | 0
777 | 0
778 | 0
779 | 0
780 | 0
781 | 0
782 | 0
783 | 0
784 | 0
785 | 0
786 | 0
787 | 0
788 | 0
789 | 0
790 | 0
791 | 0
792 | 0
793 | 0
794 | 0
795 | 0
796 | 0
797 | 0
798 | 0
799 | 0
800 | 0
801 | 0
802 | 0
803 | 0
804 | 0
805 | 0
806 | 0
807 | 0
808 | 0
809 | 0
810 | 0
811 | 0
812 | 0
813 | 0
814 | 0
815 | 0
816 | 0
817 | 0
818 | 0
819 | 0
820 | 0
821 | 0
822 | 0
823 | 0
824 | 0
825 | 0
826 | 0
827 | 0
828 | 0
829 | 0
830 | 0
831 | 0
832 | 0
833 | 0
834 | 0
835 | 0
836 | 0
837 | 0
838 | 0
839 | 0
840 | 0
841 | 0
842 | 0
843 | 0
844 | 0
845 | 0
846 | 0
847 | 0
848 | 0
849 | 0
850 | 0
851 | 0
852 | 0
853 | 0
854 | 0
855 | 0
856 | 0
857 | 0
858 | 0
859 | 0
860 | 0
861 | 0
862 | 0
863 | 0
864 | 0
865 | 0
866 | 0
867 | 0
868 | 0
869 | 0
870 | 0
871 | 0
872 | 0
873 | 0
874 | 0
875 | 0
876 | 0
877 | 0
878 | 0
879 | 0
880 | 0
881 | 0
882 | 0
883 | 0
884 | 0
885 | 0
886 | 0
887 | 0
888 | 0
889 | 0
890 | 0
891 | 0
892 | 0
893 | 0
894 | 0
895 | 0
896 | 0
897 | 0
898 | 0
899 | 0
900 | 0
901 | 0
902 | 0
903 | 0
904 | 0
905 | 0
906 | 0
907 | 0
908 | 0
909 | 0
910 | 0
911 | 0
912 | 0
913 | 0
914 | 0
915 | 0
916 | 0
917 | 0
918 | 0
919 | 0
920 | 0
921 | 0
922 | 0
923 | 0
924 | 0
925 | 0
926 | 0
927 | 0
928 | 0
929 | 0
930 | 0
931 | 0
932 | 0
933 | 0
934 | 0
935 | 0
936 | 0
937 | 0
938 | 0
939 | 0
940 | 0
941 | 0
942 | 0
943 | 0
944 | 0
945 | 0
946 | 0
947 | 0
948 | 0
949 | 0
950 | 0
951 | 0
952 | 0
953 | 0
954 | 0
955 | 0
956 | 0
957 | 0
958 | 0
959 | 0
960 | 0
961 | 0
962 | 0
963 | 0
964 | 0
965 | 0
966 | 0
967 | 0
968 | 0
969 | 0
970 | 0
971 | 0
972 | 0
973 | 0
974 | 0
975 | 0
976 | 0
977 | 0
978 | 0
979 | 0
980 | 0
981 | 0
982 | 0
983 | 0
984 | 0
985 | 0
986 | 0
987 | 0
988 | 0
989 | 0
990 | 0
991 | 0
992 | 0
993 | 0
994 | 0
995 | 0
996 | 0
997 | 0
998 | 0
999 | 0
1000 | 0
1001 | 0
1002 | 0
1003 | 0
1004 | 0
1005 | 0
1006 | 0
1007 | 0
1008 | 0
1009 | 0
1010 | 0
1011 | 0
1012 | 0
1013 | 0
1014 | 0
1015 | 0
1016 | 0
1017 | 0
1018 | 0
1019 | 0
1020 | 0
1021 | 0
1022 | 0
1023 | 0
1024 | 0
1025 | 0
1026 | 0
1027 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/2/2BitMap&&Fat.txt:
--------------------------------------------------------------------------------
1 | 00000000000000000000000000000000
2 | 00000000000000000000000000000000
3 | 00000000000000000000000000000000
4 | 00000000000000000000000000000000
5 | 00000000000000000000000000000000
6 | 00000000000000000000000000000000
7 | 00000000000000000000000000000000
8 | 00000000000000000000000000000000
9 | 00000000000000000000000000000000
10 | 00000000000000000000000000000000
11 | 00000000000000000000000000000000
12 | 00000000000000000000000000000000
13 | 00000000000000000000000000000000
14 | 00000000000000000000000000000000
15 | 00000000000000000000000000000000
16 | 00000000000000000000000000000000
17 | 00000000000000000000000000000000
18 | 00000000000000000000000000000000
19 | 00000000000000000000000000000000
20 | 00000000000000000000000000000000
21 | 00000000000000000000000000000000
22 | 00000000000000000000000000000000
23 | 00000000000000000000000000000000
24 | 00000000000000000000000000000000
25 | 00000000000000000000000000000000
26 | 00000000000000000000000000000000
27 | 00000000000000000000000000000000
28 | 00000000000000000000000000000000
29 | 00000000000000000000000000000000
30 | 00000000000000000000000000000000
31 | 00000000000000000000000000000000
32 | 00000000000000000000000000000000
33 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/2/recover.txt:
--------------------------------------------------------------------------------
1 | 0.0
2 | 0
3 | 0
4 | 0
5 | 0
6 | 0
7 | 0
8 | 0
9 | 0
10 | 0
11 | 0
12 | 0
13 | 0
14 | 0
15 | 0
16 | 0
17 | 0
18 | 0
19 | 0
20 | 0
21 | 0
22 | 0
23 | 0
24 | 0
25 | 0
26 | 0
27 | 0
28 | 0
29 | 0
30 | 0
31 | 0
32 | 0
33 | 0
34 | 0
35 | 0
36 | 0
37 | 0
38 | 0
39 | 0
40 | 0
41 | 0
42 | 0
43 | 0
44 | 0
45 | 0
46 | 0
47 | 0
48 | 0
49 | 0
50 | 0
51 | 0
52 | 0
53 | 0
54 | 0
55 | 0
56 | 0
57 | 0
58 | 0
59 | 0
60 | 0
61 | 0
62 | 0
63 | 0
64 | 0
65 | 0
66 | 0
67 | 0
68 | 0
69 | 0
70 | 0
71 | 0
72 | 0
73 | 0
74 | 0
75 | 0
76 | 0
77 | 0
78 | 0
79 | 0
80 | 0
81 | 0
82 | 0
83 | 0
84 | 0
85 | 0
86 | 0
87 | 0
88 | 0
89 | 0
90 | 0
91 | 0
92 | 0
93 | 0
94 | 0
95 | 0
96 | 0
97 | 0
98 | 0
99 | 0
100 | 0
101 | 0
102 | 0
103 | 0
104 | 0
105 | 0
106 | 0
107 | 0
108 | 0
109 | 0
110 | 0
111 | 0
112 | 0
113 | 0
114 | 0
115 | 0
116 | 0
117 | 0
118 | 0
119 | 0
120 | 0
121 | 0
122 | 0
123 | 0
124 | 0
125 | 0
126 | 0
127 | 0
128 | 0
129 | 0
130 | 0
131 | 0
132 | 0
133 | 0
134 | 0
135 | 0
136 | 0
137 | 0
138 | 0
139 | 0
140 | 0
141 | 0
142 | 0
143 | 0
144 | 0
145 | 0
146 | 0
147 | 0
148 | 0
149 | 0
150 | 0
151 | 0
152 | 0
153 | 0
154 | 0
155 | 0
156 | 0
157 | 0
158 | 0
159 | 0
160 | 0
161 | 0
162 | 0
163 | 0
164 | 0
165 | 0
166 | 0
167 | 0
168 | 0
169 | 0
170 | 0
171 | 0
172 | 0
173 | 0
174 | 0
175 | 0
176 | 0
177 | 0
178 | 0
179 | 0
180 | 0
181 | 0
182 | 0
183 | 0
184 | 0
185 | 0
186 | 0
187 | 0
188 | 0
189 | 0
190 | 0
191 | 0
192 | 0
193 | 0
194 | 0
195 | 0
196 | 0
197 | 0
198 | 0
199 | 0
200 | 0
201 | 0
202 | 0
203 | 0
204 | 0
205 | 0
206 | 0
207 | 0
208 | 0
209 | 0
210 | 0
211 | 0
212 | 0
213 | 0
214 | 0
215 | 0
216 | 0
217 | 0
218 | 0
219 | 0
220 | 0
221 | 0
222 | 0
223 | 0
224 | 0
225 | 0
226 | 0
227 | 0
228 | 0
229 | 0
230 | 0
231 | 0
232 | 0
233 | 0
234 | 0
235 | 0
236 | 0
237 | 0
238 | 0
239 | 0
240 | 0
241 | 0
242 | 0
243 | 0
244 | 0
245 | 0
246 | 0
247 | 0
248 | 0
249 | 0
250 | 0
251 | 0
252 | 0
253 | 0
254 | 0
255 | 0
256 | 0
257 | 0
258 | 0
259 | 0
260 | 0
261 | 0
262 | 0
263 | 0
264 | 0
265 | 0
266 | 0
267 | 0
268 | 0
269 | 0
270 | 0
271 | 0
272 | 0
273 | 0
274 | 0
275 | 0
276 | 0
277 | 0
278 | 0
279 | 0
280 | 0
281 | 0
282 | 0
283 | 0
284 | 0
285 | 0
286 | 0
287 | 0
288 | 0
289 | 0
290 | 0
291 | 0
292 | 0
293 | 0
294 | 0
295 | 0
296 | 0
297 | 0
298 | 0
299 | 0
300 | 0
301 | 0
302 | 0
303 | 0
304 | 0
305 | 0
306 | 0
307 | 0
308 | 0
309 | 0
310 | 0
311 | 0
312 | 0
313 | 0
314 | 0
315 | 0
316 | 0
317 | 0
318 | 0
319 | 0
320 | 0
321 | 0
322 | 0
323 | 0
324 | 0
325 | 0
326 | 0
327 | 0
328 | 0
329 | 0
330 | 0
331 | 0
332 | 0
333 | 0
334 | 0
335 | 0
336 | 0
337 | 0
338 | 0
339 | 0
340 | 0
341 | 0
342 | 0
343 | 0
344 | 0
345 | 0
346 | 0
347 | 0
348 | 0
349 | 0
350 | 0
351 | 0
352 | 0
353 | 0
354 | 0
355 | 0
356 | 0
357 | 0
358 | 0
359 | 0
360 | 0
361 | 0
362 | 0
363 | 0
364 | 0
365 | 0
366 | 0
367 | 0
368 | 0
369 | 0
370 | 0
371 | 0
372 | 0
373 | 0
374 | 0
375 | 0
376 | 0
377 | 0
378 | 0
379 | 0
380 | 0
381 | 0
382 | 0
383 | 0
384 | 0
385 | 0
386 | 0
387 | 0
388 | 0
389 | 0
390 | 0
391 | 0
392 | 0
393 | 0
394 | 0
395 | 0
396 | 0
397 | 0
398 | 0
399 | 0
400 | 0
401 | 0
402 | 0
403 | 0
404 | 0
405 | 0
406 | 0
407 | 0
408 | 0
409 | 0
410 | 0
411 | 0
412 | 0
413 | 0
414 | 0
415 | 0
416 | 0
417 | 0
418 | 0
419 | 0
420 | 0
421 | 0
422 | 0
423 | 0
424 | 0
425 | 0
426 | 0
427 | 0
428 | 0
429 | 0
430 | 0
431 | 0
432 | 0
433 | 0
434 | 0
435 | 0
436 | 0
437 | 0
438 | 0
439 | 0
440 | 0
441 | 0
442 | 0
443 | 0
444 | 0
445 | 0
446 | 0
447 | 0
448 | 0
449 | 0
450 | 0
451 | 0
452 | 0
453 | 0
454 | 0
455 | 0
456 | 0
457 | 0
458 | 0
459 | 0
460 | 0
461 | 0
462 | 0
463 | 0
464 | 0
465 | 0
466 | 0
467 | 0
468 | 0
469 | 0
470 | 0
471 | 0
472 | 0
473 | 0
474 | 0
475 | 0
476 | 0
477 | 0
478 | 0
479 | 0
480 | 0
481 | 0
482 | 0
483 | 0
484 | 0
485 | 0
486 | 0
487 | 0
488 | 0
489 | 0
490 | 0
491 | 0
492 | 0
493 | 0
494 | 0
495 | 0
496 | 0
497 | 0
498 | 0
499 | 0
500 | 0
501 | 0
502 | 0
503 | 0
504 | 0
505 | 0
506 | 0
507 | 0
508 | 0
509 | 0
510 | 0
511 | 0
512 | 0
513 | 0
514 | 0
515 | 0
516 | 0
517 | 0
518 | 0
519 | 0
520 | 0
521 | 0
522 | 0
523 | 0
524 | 0
525 | 0
526 | 0
527 | 0
528 | 0
529 | 0
530 | 0
531 | 0
532 | 0
533 | 0
534 | 0
535 | 0
536 | 0
537 | 0
538 | 0
539 | 0
540 | 0
541 | 0
542 | 0
543 | 0
544 | 0
545 | 0
546 | 0
547 | 0
548 | 0
549 | 0
550 | 0
551 | 0
552 | 0
553 | 0
554 | 0
555 | 0
556 | 0
557 | 0
558 | 0
559 | 0
560 | 0
561 | 0
562 | 0
563 | 0
564 | 0
565 | 0
566 | 0
567 | 0
568 | 0
569 | 0
570 | 0
571 | 0
572 | 0
573 | 0
574 | 0
575 | 0
576 | 0
577 | 0
578 | 0
579 | 0
580 | 0
581 | 0
582 | 0
583 | 0
584 | 0
585 | 0
586 | 0
587 | 0
588 | 0
589 | 0
590 | 0
591 | 0
592 | 0
593 | 0
594 | 0
595 | 0
596 | 0
597 | 0
598 | 0
599 | 0
600 | 0
601 | 0
602 | 0
603 | 0
604 | 0
605 | 0
606 | 0
607 | 0
608 | 0
609 | 0
610 | 0
611 | 0
612 | 0
613 | 0
614 | 0
615 | 0
616 | 0
617 | 0
618 | 0
619 | 0
620 | 0
621 | 0
622 | 0
623 | 0
624 | 0
625 | 0
626 | 0
627 | 0
628 | 0
629 | 0
630 | 0
631 | 0
632 | 0
633 | 0
634 | 0
635 | 0
636 | 0
637 | 0
638 | 0
639 | 0
640 | 0
641 | 0
642 | 0
643 | 0
644 | 0
645 | 0
646 | 0
647 | 0
648 | 0
649 | 0
650 | 0
651 | 0
652 | 0
653 | 0
654 | 0
655 | 0
656 | 0
657 | 0
658 | 0
659 | 0
660 | 0
661 | 0
662 | 0
663 | 0
664 | 0
665 | 0
666 | 0
667 | 0
668 | 0
669 | 0
670 | 0
671 | 0
672 | 0
673 | 0
674 | 0
675 | 0
676 | 0
677 | 0
678 | 0
679 | 0
680 | 0
681 | 0
682 | 0
683 | 0
684 | 0
685 | 0
686 | 0
687 | 0
688 | 0
689 | 0
690 | 0
691 | 0
692 | 0
693 | 0
694 | 0
695 | 0
696 | 0
697 | 0
698 | 0
699 | 0
700 | 0
701 | 0
702 | 0
703 | 0
704 | 0
705 | 0
706 | 0
707 | 0
708 | 0
709 | 0
710 | 0
711 | 0
712 | 0
713 | 0
714 | 0
715 | 0
716 | 0
717 | 0
718 | 0
719 | 0
720 | 0
721 | 0
722 | 0
723 | 0
724 | 0
725 | 0
726 | 0
727 | 0
728 | 0
729 | 0
730 | 0
731 | 0
732 | 0
733 | 0
734 | 0
735 | 0
736 | 0
737 | 0
738 | 0
739 | 0
740 | 0
741 | 0
742 | 0
743 | 0
744 | 0
745 | 0
746 | 0
747 | 0
748 | 0
749 | 0
750 | 0
751 | 0
752 | 0
753 | 0
754 | 0
755 | 0
756 | 0
757 | 0
758 | 0
759 | 0
760 | 0
761 | 0
762 | 0
763 | 0
764 | 0
765 | 0
766 | 0
767 | 0
768 | 0
769 | 0
770 | 0
771 | 0
772 | 0
773 | 0
774 | 0
775 | 0
776 | 0
777 | 0
778 | 0
779 | 0
780 | 0
781 | 0
782 | 0
783 | 0
784 | 0
785 | 0
786 | 0
787 | 0
788 | 0
789 | 0
790 | 0
791 | 0
792 | 0
793 | 0
794 | 0
795 | 0
796 | 0
797 | 0
798 | 0
799 | 0
800 | 0
801 | 0
802 | 0
803 | 0
804 | 0
805 | 0
806 | 0
807 | 0
808 | 0
809 | 0
810 | 0
811 | 0
812 | 0
813 | 0
814 | 0
815 | 0
816 | 0
817 | 0
818 | 0
819 | 0
820 | 0
821 | 0
822 | 0
823 | 0
824 | 0
825 | 0
826 | 0
827 | 0
828 | 0
829 | 0
830 | 0
831 | 0
832 | 0
833 | 0
834 | 0
835 | 0
836 | 0
837 | 0
838 | 0
839 | 0
840 | 0
841 | 0
842 | 0
843 | 0
844 | 0
845 | 0
846 | 0
847 | 0
848 | 0
849 | 0
850 | 0
851 | 0
852 | 0
853 | 0
854 | 0
855 | 0
856 | 0
857 | 0
858 | 0
859 | 0
860 | 0
861 | 0
862 | 0
863 | 0
864 | 0
865 | 0
866 | 0
867 | 0
868 | 0
869 | 0
870 | 0
871 | 0
872 | 0
873 | 0
874 | 0
875 | 0
876 | 0
877 | 0
878 | 0
879 | 0
880 | 0
881 | 0
882 | 0
883 | 0
884 | 0
885 | 0
886 | 0
887 | 0
888 | 0
889 | 0
890 | 0
891 | 0
892 | 0
893 | 0
894 | 0
895 | 0
896 | 0
897 | 0
898 | 0
899 | 0
900 | 0
901 | 0
902 | 0
903 | 0
904 | 0
905 | 0
906 | 0
907 | 0
908 | 0
909 | 0
910 | 0
911 | 0
912 | 0
913 | 0
914 | 0
915 | 0
916 | 0
917 | 0
918 | 0
919 | 0
920 | 0
921 | 0
922 | 0
923 | 0
924 | 0
925 | 0
926 | 0
927 | 0
928 | 0
929 | 0
930 | 0
931 | 0
932 | 0
933 | 0
934 | 0
935 | 0
936 | 0
937 | 0
938 | 0
939 | 0
940 | 0
941 | 0
942 | 0
943 | 0
944 | 0
945 | 0
946 | 0
947 | 0
948 | 0
949 | 0
950 | 0
951 | 0
952 | 0
953 | 0
954 | 0
955 | 0
956 | 0
957 | 0
958 | 0
959 | 0
960 | 0
961 | 0
962 | 0
963 | 0
964 | 0
965 | 0
966 | 0
967 | 0
968 | 0
969 | 0
970 | 0
971 | 0
972 | 0
973 | 0
974 | 0
975 | 0
976 | 0
977 | 0
978 | 0
979 | 0
980 | 0
981 | 0
982 | 0
983 | 0
984 | 0
985 | 0
986 | 0
987 | 0
988 | 0
989 | 0
990 | 0
991 | 0
992 | 0
993 | 0
994 | 0
995 | 0
996 | 0
997 | 0
998 | 0
999 | 0
1000 | 0
1001 | 0
1002 | 0
1003 | 0
1004 | 0
1005 | 0
1006 | 0
1007 | 0
1008 | 0
1009 | 0
1010 | 0
1011 | 0
1012 | 0
1013 | 0
1014 | 0
1015 | 0
1016 | 0
1017 | 0
1018 | 0
1019 | 0
1020 | 0
1021 | 0
1022 | 0
1023 | 0
1024 | 0
1025 | 0
1026 | 0
1027 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/3/3BitMap&&Fat.txt:
--------------------------------------------------------------------------------
1 | 00000000000000000000000000000000
2 | 00000000000000000000000000000000
3 | 00000000000000000000000000000000
4 | 00000000000000000000000000000000
5 | 00000000000000000000000000000000
6 | 00000000000000000000000000000000
7 | 00000000000000000000000000000000
8 | 00000000000000000000000000000000
9 | 00000000000000000000000000000000
10 | 00000000000000000000000000000000
11 | 00000000000000000000000000000000
12 | 00000000000000000000000000000000
13 | 00000000000000000000000000000000
14 | 00000000000000000000000000000000
15 | 00000000000000000000000000000000
16 | 00000000000000000000000000000000
17 | 00000000000000000000000000000000
18 | 00000000000000000000000000000000
19 | 00000000000000000000000000000000
20 | 00000000000000000000000000000000
21 | 00000000000000000000000000000000
22 | 00000000000000000000000000000000
23 | 00000000000000000000000000000000
24 | 00000000000000000000000000000000
25 | 00000000000000000000000000000000
26 | 00000000000000000000000000000000
27 | 00000000000000000000000000000000
28 | 00000000000000000000000000000000
29 | 00000000000000000000000000000000
30 | 00000000000000000000000000000000
31 | 00000000000000000000000000000000
32 | 00000000000000000000000000000000
33 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/3/recover.txt:
--------------------------------------------------------------------------------
1 | 0.0
2 | 0
3 | 0
4 | 0
5 | 0
6 | 0
7 | 0
8 | 0
9 | 0
10 | 0
11 | 0
12 | 0
13 | 0
14 | 0
15 | 0
16 | 0
17 | 0
18 | 0
19 | 0
20 | 0
21 | 0
22 | 0
23 | 0
24 | 0
25 | 0
26 | 0
27 | 0
28 | 0
29 | 0
30 | 0
31 | 0
32 | 0
33 | 0
34 | 0
35 | 0
36 | 0
37 | 0
38 | 0
39 | 0
40 | 0
41 | 0
42 | 0
43 | 0
44 | 0
45 | 0
46 | 0
47 | 0
48 | 0
49 | 0
50 | 0
51 | 0
52 | 0
53 | 0
54 | 0
55 | 0
56 | 0
57 | 0
58 | 0
59 | 0
60 | 0
61 | 0
62 | 0
63 | 0
64 | 0
65 | 0
66 | 0
67 | 0
68 | 0
69 | 0
70 | 0
71 | 0
72 | 0
73 | 0
74 | 0
75 | 0
76 | 0
77 | 0
78 | 0
79 | 0
80 | 0
81 | 0
82 | 0
83 | 0
84 | 0
85 | 0
86 | 0
87 | 0
88 | 0
89 | 0
90 | 0
91 | 0
92 | 0
93 | 0
94 | 0
95 | 0
96 | 0
97 | 0
98 | 0
99 | 0
100 | 0
101 | 0
102 | 0
103 | 0
104 | 0
105 | 0
106 | 0
107 | 0
108 | 0
109 | 0
110 | 0
111 | 0
112 | 0
113 | 0
114 | 0
115 | 0
116 | 0
117 | 0
118 | 0
119 | 0
120 | 0
121 | 0
122 | 0
123 | 0
124 | 0
125 | 0
126 | 0
127 | 0
128 | 0
129 | 0
130 | 0
131 | 0
132 | 0
133 | 0
134 | 0
135 | 0
136 | 0
137 | 0
138 | 0
139 | 0
140 | 0
141 | 0
142 | 0
143 | 0
144 | 0
145 | 0
146 | 0
147 | 0
148 | 0
149 | 0
150 | 0
151 | 0
152 | 0
153 | 0
154 | 0
155 | 0
156 | 0
157 | 0
158 | 0
159 | 0
160 | 0
161 | 0
162 | 0
163 | 0
164 | 0
165 | 0
166 | 0
167 | 0
168 | 0
169 | 0
170 | 0
171 | 0
172 | 0
173 | 0
174 | 0
175 | 0
176 | 0
177 | 0
178 | 0
179 | 0
180 | 0
181 | 0
182 | 0
183 | 0
184 | 0
185 | 0
186 | 0
187 | 0
188 | 0
189 | 0
190 | 0
191 | 0
192 | 0
193 | 0
194 | 0
195 | 0
196 | 0
197 | 0
198 | 0
199 | 0
200 | 0
201 | 0
202 | 0
203 | 0
204 | 0
205 | 0
206 | 0
207 | 0
208 | 0
209 | 0
210 | 0
211 | 0
212 | 0
213 | 0
214 | 0
215 | 0
216 | 0
217 | 0
218 | 0
219 | 0
220 | 0
221 | 0
222 | 0
223 | 0
224 | 0
225 | 0
226 | 0
227 | 0
228 | 0
229 | 0
230 | 0
231 | 0
232 | 0
233 | 0
234 | 0
235 | 0
236 | 0
237 | 0
238 | 0
239 | 0
240 | 0
241 | 0
242 | 0
243 | 0
244 | 0
245 | 0
246 | 0
247 | 0
248 | 0
249 | 0
250 | 0
251 | 0
252 | 0
253 | 0
254 | 0
255 | 0
256 | 0
257 | 0
258 | 0
259 | 0
260 | 0
261 | 0
262 | 0
263 | 0
264 | 0
265 | 0
266 | 0
267 | 0
268 | 0
269 | 0
270 | 0
271 | 0
272 | 0
273 | 0
274 | 0
275 | 0
276 | 0
277 | 0
278 | 0
279 | 0
280 | 0
281 | 0
282 | 0
283 | 0
284 | 0
285 | 0
286 | 0
287 | 0
288 | 0
289 | 0
290 | 0
291 | 0
292 | 0
293 | 0
294 | 0
295 | 0
296 | 0
297 | 0
298 | 0
299 | 0
300 | 0
301 | 0
302 | 0
303 | 0
304 | 0
305 | 0
306 | 0
307 | 0
308 | 0
309 | 0
310 | 0
311 | 0
312 | 0
313 | 0
314 | 0
315 | 0
316 | 0
317 | 0
318 | 0
319 | 0
320 | 0
321 | 0
322 | 0
323 | 0
324 | 0
325 | 0
326 | 0
327 | 0
328 | 0
329 | 0
330 | 0
331 | 0
332 | 0
333 | 0
334 | 0
335 | 0
336 | 0
337 | 0
338 | 0
339 | 0
340 | 0
341 | 0
342 | 0
343 | 0
344 | 0
345 | 0
346 | 0
347 | 0
348 | 0
349 | 0
350 | 0
351 | 0
352 | 0
353 | 0
354 | 0
355 | 0
356 | 0
357 | 0
358 | 0
359 | 0
360 | 0
361 | 0
362 | 0
363 | 0
364 | 0
365 | 0
366 | 0
367 | 0
368 | 0
369 | 0
370 | 0
371 | 0
372 | 0
373 | 0
374 | 0
375 | 0
376 | 0
377 | 0
378 | 0
379 | 0
380 | 0
381 | 0
382 | 0
383 | 0
384 | 0
385 | 0
386 | 0
387 | 0
388 | 0
389 | 0
390 | 0
391 | 0
392 | 0
393 | 0
394 | 0
395 | 0
396 | 0
397 | 0
398 | 0
399 | 0
400 | 0
401 | 0
402 | 0
403 | 0
404 | 0
405 | 0
406 | 0
407 | 0
408 | 0
409 | 0
410 | 0
411 | 0
412 | 0
413 | 0
414 | 0
415 | 0
416 | 0
417 | 0
418 | 0
419 | 0
420 | 0
421 | 0
422 | 0
423 | 0
424 | 0
425 | 0
426 | 0
427 | 0
428 | 0
429 | 0
430 | 0
431 | 0
432 | 0
433 | 0
434 | 0
435 | 0
436 | 0
437 | 0
438 | 0
439 | 0
440 | 0
441 | 0
442 | 0
443 | 0
444 | 0
445 | 0
446 | 0
447 | 0
448 | 0
449 | 0
450 | 0
451 | 0
452 | 0
453 | 0
454 | 0
455 | 0
456 | 0
457 | 0
458 | 0
459 | 0
460 | 0
461 | 0
462 | 0
463 | 0
464 | 0
465 | 0
466 | 0
467 | 0
468 | 0
469 | 0
470 | 0
471 | 0
472 | 0
473 | 0
474 | 0
475 | 0
476 | 0
477 | 0
478 | 0
479 | 0
480 | 0
481 | 0
482 | 0
483 | 0
484 | 0
485 | 0
486 | 0
487 | 0
488 | 0
489 | 0
490 | 0
491 | 0
492 | 0
493 | 0
494 | 0
495 | 0
496 | 0
497 | 0
498 | 0
499 | 0
500 | 0
501 | 0
502 | 0
503 | 0
504 | 0
505 | 0
506 | 0
507 | 0
508 | 0
509 | 0
510 | 0
511 | 0
512 | 0
513 | 0
514 | 0
515 | 0
516 | 0
517 | 0
518 | 0
519 | 0
520 | 0
521 | 0
522 | 0
523 | 0
524 | 0
525 | 0
526 | 0
527 | 0
528 | 0
529 | 0
530 | 0
531 | 0
532 | 0
533 | 0
534 | 0
535 | 0
536 | 0
537 | 0
538 | 0
539 | 0
540 | 0
541 | 0
542 | 0
543 | 0
544 | 0
545 | 0
546 | 0
547 | 0
548 | 0
549 | 0
550 | 0
551 | 0
552 | 0
553 | 0
554 | 0
555 | 0
556 | 0
557 | 0
558 | 0
559 | 0
560 | 0
561 | 0
562 | 0
563 | 0
564 | 0
565 | 0
566 | 0
567 | 0
568 | 0
569 | 0
570 | 0
571 | 0
572 | 0
573 | 0
574 | 0
575 | 0
576 | 0
577 | 0
578 | 0
579 | 0
580 | 0
581 | 0
582 | 0
583 | 0
584 | 0
585 | 0
586 | 0
587 | 0
588 | 0
589 | 0
590 | 0
591 | 0
592 | 0
593 | 0
594 | 0
595 | 0
596 | 0
597 | 0
598 | 0
599 | 0
600 | 0
601 | 0
602 | 0
603 | 0
604 | 0
605 | 0
606 | 0
607 | 0
608 | 0
609 | 0
610 | 0
611 | 0
612 | 0
613 | 0
614 | 0
615 | 0
616 | 0
617 | 0
618 | 0
619 | 0
620 | 0
621 | 0
622 | 0
623 | 0
624 | 0
625 | 0
626 | 0
627 | 0
628 | 0
629 | 0
630 | 0
631 | 0
632 | 0
633 | 0
634 | 0
635 | 0
636 | 0
637 | 0
638 | 0
639 | 0
640 | 0
641 | 0
642 | 0
643 | 0
644 | 0
645 | 0
646 | 0
647 | 0
648 | 0
649 | 0
650 | 0
651 | 0
652 | 0
653 | 0
654 | 0
655 | 0
656 | 0
657 | 0
658 | 0
659 | 0
660 | 0
661 | 0
662 | 0
663 | 0
664 | 0
665 | 0
666 | 0
667 | 0
668 | 0
669 | 0
670 | 0
671 | 0
672 | 0
673 | 0
674 | 0
675 | 0
676 | 0
677 | 0
678 | 0
679 | 0
680 | 0
681 | 0
682 | 0
683 | 0
684 | 0
685 | 0
686 | 0
687 | 0
688 | 0
689 | 0
690 | 0
691 | 0
692 | 0
693 | 0
694 | 0
695 | 0
696 | 0
697 | 0
698 | 0
699 | 0
700 | 0
701 | 0
702 | 0
703 | 0
704 | 0
705 | 0
706 | 0
707 | 0
708 | 0
709 | 0
710 | 0
711 | 0
712 | 0
713 | 0
714 | 0
715 | 0
716 | 0
717 | 0
718 | 0
719 | 0
720 | 0
721 | 0
722 | 0
723 | 0
724 | 0
725 | 0
726 | 0
727 | 0
728 | 0
729 | 0
730 | 0
731 | 0
732 | 0
733 | 0
734 | 0
735 | 0
736 | 0
737 | 0
738 | 0
739 | 0
740 | 0
741 | 0
742 | 0
743 | 0
744 | 0
745 | 0
746 | 0
747 | 0
748 | 0
749 | 0
750 | 0
751 | 0
752 | 0
753 | 0
754 | 0
755 | 0
756 | 0
757 | 0
758 | 0
759 | 0
760 | 0
761 | 0
762 | 0
763 | 0
764 | 0
765 | 0
766 | 0
767 | 0
768 | 0
769 | 0
770 | 0
771 | 0
772 | 0
773 | 0
774 | 0
775 | 0
776 | 0
777 | 0
778 | 0
779 | 0
780 | 0
781 | 0
782 | 0
783 | 0
784 | 0
785 | 0
786 | 0
787 | 0
788 | 0
789 | 0
790 | 0
791 | 0
792 | 0
793 | 0
794 | 0
795 | 0
796 | 0
797 | 0
798 | 0
799 | 0
800 | 0
801 | 0
802 | 0
803 | 0
804 | 0
805 | 0
806 | 0
807 | 0
808 | 0
809 | 0
810 | 0
811 | 0
812 | 0
813 | 0
814 | 0
815 | 0
816 | 0
817 | 0
818 | 0
819 | 0
820 | 0
821 | 0
822 | 0
823 | 0
824 | 0
825 | 0
826 | 0
827 | 0
828 | 0
829 | 0
830 | 0
831 | 0
832 | 0
833 | 0
834 | 0
835 | 0
836 | 0
837 | 0
838 | 0
839 | 0
840 | 0
841 | 0
842 | 0
843 | 0
844 | 0
845 | 0
846 | 0
847 | 0
848 | 0
849 | 0
850 | 0
851 | 0
852 | 0
853 | 0
854 | 0
855 | 0
856 | 0
857 | 0
858 | 0
859 | 0
860 | 0
861 | 0
862 | 0
863 | 0
864 | 0
865 | 0
866 | 0
867 | 0
868 | 0
869 | 0
870 | 0
871 | 0
872 | 0
873 | 0
874 | 0
875 | 0
876 | 0
877 | 0
878 | 0
879 | 0
880 | 0
881 | 0
882 | 0
883 | 0
884 | 0
885 | 0
886 | 0
887 | 0
888 | 0
889 | 0
890 | 0
891 | 0
892 | 0
893 | 0
894 | 0
895 | 0
896 | 0
897 | 0
898 | 0
899 | 0
900 | 0
901 | 0
902 | 0
903 | 0
904 | 0
905 | 0
906 | 0
907 | 0
908 | 0
909 | 0
910 | 0
911 | 0
912 | 0
913 | 0
914 | 0
915 | 0
916 | 0
917 | 0
918 | 0
919 | 0
920 | 0
921 | 0
922 | 0
923 | 0
924 | 0
925 | 0
926 | 0
927 | 0
928 | 0
929 | 0
930 | 0
931 | 0
932 | 0
933 | 0
934 | 0
935 | 0
936 | 0
937 | 0
938 | 0
939 | 0
940 | 0
941 | 0
942 | 0
943 | 0
944 | 0
945 | 0
946 | 0
947 | 0
948 | 0
949 | 0
950 | 0
951 | 0
952 | 0
953 | 0
954 | 0
955 | 0
956 | 0
957 | 0
958 | 0
959 | 0
960 | 0
961 | 0
962 | 0
963 | 0
964 | 0
965 | 0
966 | 0
967 | 0
968 | 0
969 | 0
970 | 0
971 | 0
972 | 0
973 | 0
974 | 0
975 | 0
976 | 0
977 | 0
978 | 0
979 | 0
980 | 0
981 | 0
982 | 0
983 | 0
984 | 0
985 | 0
986 | 0
987 | 0
988 | 0
989 | 0
990 | 0
991 | 0
992 | 0
993 | 0
994 | 0
995 | 0
996 | 0
997 | 0
998 | 0
999 | 0
1000 | 0
1001 | 0
1002 | 0
1003 | 0
1004 | 0
1005 | 0
1006 | 0
1007 | 0
1008 | 0
1009 | 0
1010 | 0
1011 | 0
1012 | 0
1013 | 0
1014 | 0
1015 | 0
1016 | 0
1017 | 0
1018 | 0
1019 | 0
1020 | 0
1021 | 0
1022 | 0
1023 | 0
1024 | 0
1025 | 0
1026 | 0
1027 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/4/4BitMap&&Fat.txt:
--------------------------------------------------------------------------------
1 | 00000000000000000000000000000000
2 | 00000000000000000000000000000000
3 | 00000000000000000000000000000000
4 | 00000000000000000000000000000000
5 | 00000000000000000000000000000000
6 | 00000000000000000000000000000000
7 | 00000000000000000000000000000000
8 | 00000000000000000000000000000000
9 | 00000000000000000000000000000000
10 | 00000000000000000000000000000000
11 | 00000000000000000000000000000000
12 | 00000000000000000000000000000000
13 | 00000000000000000000000000000000
14 | 00000000000000000000000000000000
15 | 00000000000000000000000000000000
16 | 00000000000000000000000000000000
17 | 00000000000000000000000000000000
18 | 00000000000000000000000000000000
19 | 00000000000000000000000000000000
20 | 00000000000000000000000000000000
21 | 00000000000000000000000000000000
22 | 00000000000000000000000000000000
23 | 00000000000000000000000000000000
24 | 00000000000000000000000000000000
25 | 00000000000000000000000000000000
26 | 00000000000000000000000000000000
27 | 00000000000000000000000000000000
28 | 00000000000000000000000000000000
29 | 00000000000000000000000000000000
30 | 00000000000000000000000000000000
31 | 00000000000000000000000000000000
32 | 00000000000000000000000000000000
33 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/4/recover.txt:
--------------------------------------------------------------------------------
1 | 0.0
2 | 0
3 | 0
4 | 0
5 | 0
6 | 0
7 | 0
8 | 0
9 | 0
10 | 0
11 | 0
12 | 0
13 | 0
14 | 0
15 | 0
16 | 0
17 | 0
18 | 0
19 | 0
20 | 0
21 | 0
22 | 0
23 | 0
24 | 0
25 | 0
26 | 0
27 | 0
28 | 0
29 | 0
30 | 0
31 | 0
32 | 0
33 | 0
34 | 0
35 | 0
36 | 0
37 | 0
38 | 0
39 | 0
40 | 0
41 | 0
42 | 0
43 | 0
44 | 0
45 | 0
46 | 0
47 | 0
48 | 0
49 | 0
50 | 0
51 | 0
52 | 0
53 | 0
54 | 0
55 | 0
56 | 0
57 | 0
58 | 0
59 | 0
60 | 0
61 | 0
62 | 0
63 | 0
64 | 0
65 | 0
66 | 0
67 | 0
68 | 0
69 | 0
70 | 0
71 | 0
72 | 0
73 | 0
74 | 0
75 | 0
76 | 0
77 | 0
78 | 0
79 | 0
80 | 0
81 | 0
82 | 0
83 | 0
84 | 0
85 | 0
86 | 0
87 | 0
88 | 0
89 | 0
90 | 0
91 | 0
92 | 0
93 | 0
94 | 0
95 | 0
96 | 0
97 | 0
98 | 0
99 | 0
100 | 0
101 | 0
102 | 0
103 | 0
104 | 0
105 | 0
106 | 0
107 | 0
108 | 0
109 | 0
110 | 0
111 | 0
112 | 0
113 | 0
114 | 0
115 | 0
116 | 0
117 | 0
118 | 0
119 | 0
120 | 0
121 | 0
122 | 0
123 | 0
124 | 0
125 | 0
126 | 0
127 | 0
128 | 0
129 | 0
130 | 0
131 | 0
132 | 0
133 | 0
134 | 0
135 | 0
136 | 0
137 | 0
138 | 0
139 | 0
140 | 0
141 | 0
142 | 0
143 | 0
144 | 0
145 | 0
146 | 0
147 | 0
148 | 0
149 | 0
150 | 0
151 | 0
152 | 0
153 | 0
154 | 0
155 | 0
156 | 0
157 | 0
158 | 0
159 | 0
160 | 0
161 | 0
162 | 0
163 | 0
164 | 0
165 | 0
166 | 0
167 | 0
168 | 0
169 | 0
170 | 0
171 | 0
172 | 0
173 | 0
174 | 0
175 | 0
176 | 0
177 | 0
178 | 0
179 | 0
180 | 0
181 | 0
182 | 0
183 | 0
184 | 0
185 | 0
186 | 0
187 | 0
188 | 0
189 | 0
190 | 0
191 | 0
192 | 0
193 | 0
194 | 0
195 | 0
196 | 0
197 | 0
198 | 0
199 | 0
200 | 0
201 | 0
202 | 0
203 | 0
204 | 0
205 | 0
206 | 0
207 | 0
208 | 0
209 | 0
210 | 0
211 | 0
212 | 0
213 | 0
214 | 0
215 | 0
216 | 0
217 | 0
218 | 0
219 | 0
220 | 0
221 | 0
222 | 0
223 | 0
224 | 0
225 | 0
226 | 0
227 | 0
228 | 0
229 | 0
230 | 0
231 | 0
232 | 0
233 | 0
234 | 0
235 | 0
236 | 0
237 | 0
238 | 0
239 | 0
240 | 0
241 | 0
242 | 0
243 | 0
244 | 0
245 | 0
246 | 0
247 | 0
248 | 0
249 | 0
250 | 0
251 | 0
252 | 0
253 | 0
254 | 0
255 | 0
256 | 0
257 | 0
258 | 0
259 | 0
260 | 0
261 | 0
262 | 0
263 | 0
264 | 0
265 | 0
266 | 0
267 | 0
268 | 0
269 | 0
270 | 0
271 | 0
272 | 0
273 | 0
274 | 0
275 | 0
276 | 0
277 | 0
278 | 0
279 | 0
280 | 0
281 | 0
282 | 0
283 | 0
284 | 0
285 | 0
286 | 0
287 | 0
288 | 0
289 | 0
290 | 0
291 | 0
292 | 0
293 | 0
294 | 0
295 | 0
296 | 0
297 | 0
298 | 0
299 | 0
300 | 0
301 | 0
302 | 0
303 | 0
304 | 0
305 | 0
306 | 0
307 | 0
308 | 0
309 | 0
310 | 0
311 | 0
312 | 0
313 | 0
314 | 0
315 | 0
316 | 0
317 | 0
318 | 0
319 | 0
320 | 0
321 | 0
322 | 0
323 | 0
324 | 0
325 | 0
326 | 0
327 | 0
328 | 0
329 | 0
330 | 0
331 | 0
332 | 0
333 | 0
334 | 0
335 | 0
336 | 0
337 | 0
338 | 0
339 | 0
340 | 0
341 | 0
342 | 0
343 | 0
344 | 0
345 | 0
346 | 0
347 | 0
348 | 0
349 | 0
350 | 0
351 | 0
352 | 0
353 | 0
354 | 0
355 | 0
356 | 0
357 | 0
358 | 0
359 | 0
360 | 0
361 | 0
362 | 0
363 | 0
364 | 0
365 | 0
366 | 0
367 | 0
368 | 0
369 | 0
370 | 0
371 | 0
372 | 0
373 | 0
374 | 0
375 | 0
376 | 0
377 | 0
378 | 0
379 | 0
380 | 0
381 | 0
382 | 0
383 | 0
384 | 0
385 | 0
386 | 0
387 | 0
388 | 0
389 | 0
390 | 0
391 | 0
392 | 0
393 | 0
394 | 0
395 | 0
396 | 0
397 | 0
398 | 0
399 | 0
400 | 0
401 | 0
402 | 0
403 | 0
404 | 0
405 | 0
406 | 0
407 | 0
408 | 0
409 | 0
410 | 0
411 | 0
412 | 0
413 | 0
414 | 0
415 | 0
416 | 0
417 | 0
418 | 0
419 | 0
420 | 0
421 | 0
422 | 0
423 | 0
424 | 0
425 | 0
426 | 0
427 | 0
428 | 0
429 | 0
430 | 0
431 | 0
432 | 0
433 | 0
434 | 0
435 | 0
436 | 0
437 | 0
438 | 0
439 | 0
440 | 0
441 | 0
442 | 0
443 | 0
444 | 0
445 | 0
446 | 0
447 | 0
448 | 0
449 | 0
450 | 0
451 | 0
452 | 0
453 | 0
454 | 0
455 | 0
456 | 0
457 | 0
458 | 0
459 | 0
460 | 0
461 | 0
462 | 0
463 | 0
464 | 0
465 | 0
466 | 0
467 | 0
468 | 0
469 | 0
470 | 0
471 | 0
472 | 0
473 | 0
474 | 0
475 | 0
476 | 0
477 | 0
478 | 0
479 | 0
480 | 0
481 | 0
482 | 0
483 | 0
484 | 0
485 | 0
486 | 0
487 | 0
488 | 0
489 | 0
490 | 0
491 | 0
492 | 0
493 | 0
494 | 0
495 | 0
496 | 0
497 | 0
498 | 0
499 | 0
500 | 0
501 | 0
502 | 0
503 | 0
504 | 0
505 | 0
506 | 0
507 | 0
508 | 0
509 | 0
510 | 0
511 | 0
512 | 0
513 | 0
514 | 0
515 | 0
516 | 0
517 | 0
518 | 0
519 | 0
520 | 0
521 | 0
522 | 0
523 | 0
524 | 0
525 | 0
526 | 0
527 | 0
528 | 0
529 | 0
530 | 0
531 | 0
532 | 0
533 | 0
534 | 0
535 | 0
536 | 0
537 | 0
538 | 0
539 | 0
540 | 0
541 | 0
542 | 0
543 | 0
544 | 0
545 | 0
546 | 0
547 | 0
548 | 0
549 | 0
550 | 0
551 | 0
552 | 0
553 | 0
554 | 0
555 | 0
556 | 0
557 | 0
558 | 0
559 | 0
560 | 0
561 | 0
562 | 0
563 | 0
564 | 0
565 | 0
566 | 0
567 | 0
568 | 0
569 | 0
570 | 0
571 | 0
572 | 0
573 | 0
574 | 0
575 | 0
576 | 0
577 | 0
578 | 0
579 | 0
580 | 0
581 | 0
582 | 0
583 | 0
584 | 0
585 | 0
586 | 0
587 | 0
588 | 0
589 | 0
590 | 0
591 | 0
592 | 0
593 | 0
594 | 0
595 | 0
596 | 0
597 | 0
598 | 0
599 | 0
600 | 0
601 | 0
602 | 0
603 | 0
604 | 0
605 | 0
606 | 0
607 | 0
608 | 0
609 | 0
610 | 0
611 | 0
612 | 0
613 | 0
614 | 0
615 | 0
616 | 0
617 | 0
618 | 0
619 | 0
620 | 0
621 | 0
622 | 0
623 | 0
624 | 0
625 | 0
626 | 0
627 | 0
628 | 0
629 | 0
630 | 0
631 | 0
632 | 0
633 | 0
634 | 0
635 | 0
636 | 0
637 | 0
638 | 0
639 | 0
640 | 0
641 | 0
642 | 0
643 | 0
644 | 0
645 | 0
646 | 0
647 | 0
648 | 0
649 | 0
650 | 0
651 | 0
652 | 0
653 | 0
654 | 0
655 | 0
656 | 0
657 | 0
658 | 0
659 | 0
660 | 0
661 | 0
662 | 0
663 | 0
664 | 0
665 | 0
666 | 0
667 | 0
668 | 0
669 | 0
670 | 0
671 | 0
672 | 0
673 | 0
674 | 0
675 | 0
676 | 0
677 | 0
678 | 0
679 | 0
680 | 0
681 | 0
682 | 0
683 | 0
684 | 0
685 | 0
686 | 0
687 | 0
688 | 0
689 | 0
690 | 0
691 | 0
692 | 0
693 | 0
694 | 0
695 | 0
696 | 0
697 | 0
698 | 0
699 | 0
700 | 0
701 | 0
702 | 0
703 | 0
704 | 0
705 | 0
706 | 0
707 | 0
708 | 0
709 | 0
710 | 0
711 | 0
712 | 0
713 | 0
714 | 0
715 | 0
716 | 0
717 | 0
718 | 0
719 | 0
720 | 0
721 | 0
722 | 0
723 | 0
724 | 0
725 | 0
726 | 0
727 | 0
728 | 0
729 | 0
730 | 0
731 | 0
732 | 0
733 | 0
734 | 0
735 | 0
736 | 0
737 | 0
738 | 0
739 | 0
740 | 0
741 | 0
742 | 0
743 | 0
744 | 0
745 | 0
746 | 0
747 | 0
748 | 0
749 | 0
750 | 0
751 | 0
752 | 0
753 | 0
754 | 0
755 | 0
756 | 0
757 | 0
758 | 0
759 | 0
760 | 0
761 | 0
762 | 0
763 | 0
764 | 0
765 | 0
766 | 0
767 | 0
768 | 0
769 | 0
770 | 0
771 | 0
772 | 0
773 | 0
774 | 0
775 | 0
776 | 0
777 | 0
778 | 0
779 | 0
780 | 0
781 | 0
782 | 0
783 | 0
784 | 0
785 | 0
786 | 0
787 | 0
788 | 0
789 | 0
790 | 0
791 | 0
792 | 0
793 | 0
794 | 0
795 | 0
796 | 0
797 | 0
798 | 0
799 | 0
800 | 0
801 | 0
802 | 0
803 | 0
804 | 0
805 | 0
806 | 0
807 | 0
808 | 0
809 | 0
810 | 0
811 | 0
812 | 0
813 | 0
814 | 0
815 | 0
816 | 0
817 | 0
818 | 0
819 | 0
820 | 0
821 | 0
822 | 0
823 | 0
824 | 0
825 | 0
826 | 0
827 | 0
828 | 0
829 | 0
830 | 0
831 | 0
832 | 0
833 | 0
834 | 0
835 | 0
836 | 0
837 | 0
838 | 0
839 | 0
840 | 0
841 | 0
842 | 0
843 | 0
844 | 0
845 | 0
846 | 0
847 | 0
848 | 0
849 | 0
850 | 0
851 | 0
852 | 0
853 | 0
854 | 0
855 | 0
856 | 0
857 | 0
858 | 0
859 | 0
860 | 0
861 | 0
862 | 0
863 | 0
864 | 0
865 | 0
866 | 0
867 | 0
868 | 0
869 | 0
870 | 0
871 | 0
872 | 0
873 | 0
874 | 0
875 | 0
876 | 0
877 | 0
878 | 0
879 | 0
880 | 0
881 | 0
882 | 0
883 | 0
884 | 0
885 | 0
886 | 0
887 | 0
888 | 0
889 | 0
890 | 0
891 | 0
892 | 0
893 | 0
894 | 0
895 | 0
896 | 0
897 | 0
898 | 0
899 | 0
900 | 0
901 | 0
902 | 0
903 | 0
904 | 0
905 | 0
906 | 0
907 | 0
908 | 0
909 | 0
910 | 0
911 | 0
912 | 0
913 | 0
914 | 0
915 | 0
916 | 0
917 | 0
918 | 0
919 | 0
920 | 0
921 | 0
922 | 0
923 | 0
924 | 0
925 | 0
926 | 0
927 | 0
928 | 0
929 | 0
930 | 0
931 | 0
932 | 0
933 | 0
934 | 0
935 | 0
936 | 0
937 | 0
938 | 0
939 | 0
940 | 0
941 | 0
942 | 0
943 | 0
944 | 0
945 | 0
946 | 0
947 | 0
948 | 0
949 | 0
950 | 0
951 | 0
952 | 0
953 | 0
954 | 0
955 | 0
956 | 0
957 | 0
958 | 0
959 | 0
960 | 0
961 | 0
962 | 0
963 | 0
964 | 0
965 | 0
966 | 0
967 | 0
968 | 0
969 | 0
970 | 0
971 | 0
972 | 0
973 | 0
974 | 0
975 | 0
976 | 0
977 | 0
978 | 0
979 | 0
980 | 0
981 | 0
982 | 0
983 | 0
984 | 0
985 | 0
986 | 0
987 | 0
988 | 0
989 | 0
990 | 0
991 | 0
992 | 0
993 | 0
994 | 0
995 | 0
996 | 0
997 | 0
998 | 0
999 | 0
1000 | 0
1001 | 0
1002 | 0
1003 | 0
1004 | 0
1005 | 0
1006 | 0
1007 | 0
1008 | 0
1009 | 0
1010 | 0
1011 | 0
1012 | 0
1013 | 0
1014 | 0
1015 | 0
1016 | 0
1017 | 0
1018 | 0
1019 | 0
1020 | 0
1021 | 0
1022 | 0
1023 | 0
1024 | 0
1025 | 0
1026 | 0
1027 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/5/5BitMap&&Fat.txt:
--------------------------------------------------------------------------------
1 | 00000000000000000000000000000000
2 | 00000000000000000000000000000000
3 | 00000000000000000000000000000000
4 | 00000000000000000000000000000000
5 | 00000000000000000000000000000000
6 | 00000000000000000000000000000000
7 | 00000000000000000000000000000000
8 | 00000000000000000000000000000000
9 | 00000000000000000000000000000000
10 | 00000000000000000000000000000000
11 | 00000000000000000000000000000000
12 | 00000000000000000000000000000000
13 | 00000000000000000000000000000000
14 | 00000000000000000000000000000000
15 | 00000000000000000000000000000000
16 | 00000000000000000000000000000000
17 | 00000000000000000000000000000000
18 | 00000000000000000000000000000000
19 | 00000000000000000000000000000000
20 | 00000000000000000000000000000000
21 | 00000000000000000000000000000000
22 | 00000000000000000000000000000000
23 | 00000000000000000000000000000000
24 | 00000000000000000000000000000000
25 | 00000000000000000000000000000000
26 | 00000000000000000000000000000000
27 | 00000000000000000000000000000000
28 | 00000000000000000000000000000000
29 | 00000000000000000000000000000000
30 | 00000000000000000000000000000000
31 | 00000000000000000000000000000000
32 | 00000000000000000000000000000000
33 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/5/recover.txt:
--------------------------------------------------------------------------------
1 | 0.0
2 | 0
3 | 0
4 | 0
5 | 0
6 | 0
7 | 0
8 | 0
9 | 0
10 | 0
11 | 0
12 | 0
13 | 0
14 | 0
15 | 0
16 | 0
17 | 0
18 | 0
19 | 0
20 | 0
21 | 0
22 | 0
23 | 0
24 | 0
25 | 0
26 | 0
27 | 0
28 | 0
29 | 0
30 | 0
31 | 0
32 | 0
33 | 0
34 | 0
35 | 0
36 | 0
37 | 0
38 | 0
39 | 0
40 | 0
41 | 0
42 | 0
43 | 0
44 | 0
45 | 0
46 | 0
47 | 0
48 | 0
49 | 0
50 | 0
51 | 0
52 | 0
53 | 0
54 | 0
55 | 0
56 | 0
57 | 0
58 | 0
59 | 0
60 | 0
61 | 0
62 | 0
63 | 0
64 | 0
65 | 0
66 | 0
67 | 0
68 | 0
69 | 0
70 | 0
71 | 0
72 | 0
73 | 0
74 | 0
75 | 0
76 | 0
77 | 0
78 | 0
79 | 0
80 | 0
81 | 0
82 | 0
83 | 0
84 | 0
85 | 0
86 | 0
87 | 0
88 | 0
89 | 0
90 | 0
91 | 0
92 | 0
93 | 0
94 | 0
95 | 0
96 | 0
97 | 0
98 | 0
99 | 0
100 | 0
101 | 0
102 | 0
103 | 0
104 | 0
105 | 0
106 | 0
107 | 0
108 | 0
109 | 0
110 | 0
111 | 0
112 | 0
113 | 0
114 | 0
115 | 0
116 | 0
117 | 0
118 | 0
119 | 0
120 | 0
121 | 0
122 | 0
123 | 0
124 | 0
125 | 0
126 | 0
127 | 0
128 | 0
129 | 0
130 | 0
131 | 0
132 | 0
133 | 0
134 | 0
135 | 0
136 | 0
137 | 0
138 | 0
139 | 0
140 | 0
141 | 0
142 | 0
143 | 0
144 | 0
145 | 0
146 | 0
147 | 0
148 | 0
149 | 0
150 | 0
151 | 0
152 | 0
153 | 0
154 | 0
155 | 0
156 | 0
157 | 0
158 | 0
159 | 0
160 | 0
161 | 0
162 | 0
163 | 0
164 | 0
165 | 0
166 | 0
167 | 0
168 | 0
169 | 0
170 | 0
171 | 0
172 | 0
173 | 0
174 | 0
175 | 0
176 | 0
177 | 0
178 | 0
179 | 0
180 | 0
181 | 0
182 | 0
183 | 0
184 | 0
185 | 0
186 | 0
187 | 0
188 | 0
189 | 0
190 | 0
191 | 0
192 | 0
193 | 0
194 | 0
195 | 0
196 | 0
197 | 0
198 | 0
199 | 0
200 | 0
201 | 0
202 | 0
203 | 0
204 | 0
205 | 0
206 | 0
207 | 0
208 | 0
209 | 0
210 | 0
211 | 0
212 | 0
213 | 0
214 | 0
215 | 0
216 | 0
217 | 0
218 | 0
219 | 0
220 | 0
221 | 0
222 | 0
223 | 0
224 | 0
225 | 0
226 | 0
227 | 0
228 | 0
229 | 0
230 | 0
231 | 0
232 | 0
233 | 0
234 | 0
235 | 0
236 | 0
237 | 0
238 | 0
239 | 0
240 | 0
241 | 0
242 | 0
243 | 0
244 | 0
245 | 0
246 | 0
247 | 0
248 | 0
249 | 0
250 | 0
251 | 0
252 | 0
253 | 0
254 | 0
255 | 0
256 | 0
257 | 0
258 | 0
259 | 0
260 | 0
261 | 0
262 | 0
263 | 0
264 | 0
265 | 0
266 | 0
267 | 0
268 | 0
269 | 0
270 | 0
271 | 0
272 | 0
273 | 0
274 | 0
275 | 0
276 | 0
277 | 0
278 | 0
279 | 0
280 | 0
281 | 0
282 | 0
283 | 0
284 | 0
285 | 0
286 | 0
287 | 0
288 | 0
289 | 0
290 | 0
291 | 0
292 | 0
293 | 0
294 | 0
295 | 0
296 | 0
297 | 0
298 | 0
299 | 0
300 | 0
301 | 0
302 | 0
303 | 0
304 | 0
305 | 0
306 | 0
307 | 0
308 | 0
309 | 0
310 | 0
311 | 0
312 | 0
313 | 0
314 | 0
315 | 0
316 | 0
317 | 0
318 | 0
319 | 0
320 | 0
321 | 0
322 | 0
323 | 0
324 | 0
325 | 0
326 | 0
327 | 0
328 | 0
329 | 0
330 | 0
331 | 0
332 | 0
333 | 0
334 | 0
335 | 0
336 | 0
337 | 0
338 | 0
339 | 0
340 | 0
341 | 0
342 | 0
343 | 0
344 | 0
345 | 0
346 | 0
347 | 0
348 | 0
349 | 0
350 | 0
351 | 0
352 | 0
353 | 0
354 | 0
355 | 0
356 | 0
357 | 0
358 | 0
359 | 0
360 | 0
361 | 0
362 | 0
363 | 0
364 | 0
365 | 0
366 | 0
367 | 0
368 | 0
369 | 0
370 | 0
371 | 0
372 | 0
373 | 0
374 | 0
375 | 0
376 | 0
377 | 0
378 | 0
379 | 0
380 | 0
381 | 0
382 | 0
383 | 0
384 | 0
385 | 0
386 | 0
387 | 0
388 | 0
389 | 0
390 | 0
391 | 0
392 | 0
393 | 0
394 | 0
395 | 0
396 | 0
397 | 0
398 | 0
399 | 0
400 | 0
401 | 0
402 | 0
403 | 0
404 | 0
405 | 0
406 | 0
407 | 0
408 | 0
409 | 0
410 | 0
411 | 0
412 | 0
413 | 0
414 | 0
415 | 0
416 | 0
417 | 0
418 | 0
419 | 0
420 | 0
421 | 0
422 | 0
423 | 0
424 | 0
425 | 0
426 | 0
427 | 0
428 | 0
429 | 0
430 | 0
431 | 0
432 | 0
433 | 0
434 | 0
435 | 0
436 | 0
437 | 0
438 | 0
439 | 0
440 | 0
441 | 0
442 | 0
443 | 0
444 | 0
445 | 0
446 | 0
447 | 0
448 | 0
449 | 0
450 | 0
451 | 0
452 | 0
453 | 0
454 | 0
455 | 0
456 | 0
457 | 0
458 | 0
459 | 0
460 | 0
461 | 0
462 | 0
463 | 0
464 | 0
465 | 0
466 | 0
467 | 0
468 | 0
469 | 0
470 | 0
471 | 0
472 | 0
473 | 0
474 | 0
475 | 0
476 | 0
477 | 0
478 | 0
479 | 0
480 | 0
481 | 0
482 | 0
483 | 0
484 | 0
485 | 0
486 | 0
487 | 0
488 | 0
489 | 0
490 | 0
491 | 0
492 | 0
493 | 0
494 | 0
495 | 0
496 | 0
497 | 0
498 | 0
499 | 0
500 | 0
501 | 0
502 | 0
503 | 0
504 | 0
505 | 0
506 | 0
507 | 0
508 | 0
509 | 0
510 | 0
511 | 0
512 | 0
513 | 0
514 | 0
515 | 0
516 | 0
517 | 0
518 | 0
519 | 0
520 | 0
521 | 0
522 | 0
523 | 0
524 | 0
525 | 0
526 | 0
527 | 0
528 | 0
529 | 0
530 | 0
531 | 0
532 | 0
533 | 0
534 | 0
535 | 0
536 | 0
537 | 0
538 | 0
539 | 0
540 | 0
541 | 0
542 | 0
543 | 0
544 | 0
545 | 0
546 | 0
547 | 0
548 | 0
549 | 0
550 | 0
551 | 0
552 | 0
553 | 0
554 | 0
555 | 0
556 | 0
557 | 0
558 | 0
559 | 0
560 | 0
561 | 0
562 | 0
563 | 0
564 | 0
565 | 0
566 | 0
567 | 0
568 | 0
569 | 0
570 | 0
571 | 0
572 | 0
573 | 0
574 | 0
575 | 0
576 | 0
577 | 0
578 | 0
579 | 0
580 | 0
581 | 0
582 | 0
583 | 0
584 | 0
585 | 0
586 | 0
587 | 0
588 | 0
589 | 0
590 | 0
591 | 0
592 | 0
593 | 0
594 | 0
595 | 0
596 | 0
597 | 0
598 | 0
599 | 0
600 | 0
601 | 0
602 | 0
603 | 0
604 | 0
605 | 0
606 | 0
607 | 0
608 | 0
609 | 0
610 | 0
611 | 0
612 | 0
613 | 0
614 | 0
615 | 0
616 | 0
617 | 0
618 | 0
619 | 0
620 | 0
621 | 0
622 | 0
623 | 0
624 | 0
625 | 0
626 | 0
627 | 0
628 | 0
629 | 0
630 | 0
631 | 0
632 | 0
633 | 0
634 | 0
635 | 0
636 | 0
637 | 0
638 | 0
639 | 0
640 | 0
641 | 0
642 | 0
643 | 0
644 | 0
645 | 0
646 | 0
647 | 0
648 | 0
649 | 0
650 | 0
651 | 0
652 | 0
653 | 0
654 | 0
655 | 0
656 | 0
657 | 0
658 | 0
659 | 0
660 | 0
661 | 0
662 | 0
663 | 0
664 | 0
665 | 0
666 | 0
667 | 0
668 | 0
669 | 0
670 | 0
671 | 0
672 | 0
673 | 0
674 | 0
675 | 0
676 | 0
677 | 0
678 | 0
679 | 0
680 | 0
681 | 0
682 | 0
683 | 0
684 | 0
685 | 0
686 | 0
687 | 0
688 | 0
689 | 0
690 | 0
691 | 0
692 | 0
693 | 0
694 | 0
695 | 0
696 | 0
697 | 0
698 | 0
699 | 0
700 | 0
701 | 0
702 | 0
703 | 0
704 | 0
705 | 0
706 | 0
707 | 0
708 | 0
709 | 0
710 | 0
711 | 0
712 | 0
713 | 0
714 | 0
715 | 0
716 | 0
717 | 0
718 | 0
719 | 0
720 | 0
721 | 0
722 | 0
723 | 0
724 | 0
725 | 0
726 | 0
727 | 0
728 | 0
729 | 0
730 | 0
731 | 0
732 | 0
733 | 0
734 | 0
735 | 0
736 | 0
737 | 0
738 | 0
739 | 0
740 | 0
741 | 0
742 | 0
743 | 0
744 | 0
745 | 0
746 | 0
747 | 0
748 | 0
749 | 0
750 | 0
751 | 0
752 | 0
753 | 0
754 | 0
755 | 0
756 | 0
757 | 0
758 | 0
759 | 0
760 | 0
761 | 0
762 | 0
763 | 0
764 | 0
765 | 0
766 | 0
767 | 0
768 | 0
769 | 0
770 | 0
771 | 0
772 | 0
773 | 0
774 | 0
775 | 0
776 | 0
777 | 0
778 | 0
779 | 0
780 | 0
781 | 0
782 | 0
783 | 0
784 | 0
785 | 0
786 | 0
787 | 0
788 | 0
789 | 0
790 | 0
791 | 0
792 | 0
793 | 0
794 | 0
795 | 0
796 | 0
797 | 0
798 | 0
799 | 0
800 | 0
801 | 0
802 | 0
803 | 0
804 | 0
805 | 0
806 | 0
807 | 0
808 | 0
809 | 0
810 | 0
811 | 0
812 | 0
813 | 0
814 | 0
815 | 0
816 | 0
817 | 0
818 | 0
819 | 0
820 | 0
821 | 0
822 | 0
823 | 0
824 | 0
825 | 0
826 | 0
827 | 0
828 | 0
829 | 0
830 | 0
831 | 0
832 | 0
833 | 0
834 | 0
835 | 0
836 | 0
837 | 0
838 | 0
839 | 0
840 | 0
841 | 0
842 | 0
843 | 0
844 | 0
845 | 0
846 | 0
847 | 0
848 | 0
849 | 0
850 | 0
851 | 0
852 | 0
853 | 0
854 | 0
855 | 0
856 | 0
857 | 0
858 | 0
859 | 0
860 | 0
861 | 0
862 | 0
863 | 0
864 | 0
865 | 0
866 | 0
867 | 0
868 | 0
869 | 0
870 | 0
871 | 0
872 | 0
873 | 0
874 | 0
875 | 0
876 | 0
877 | 0
878 | 0
879 | 0
880 | 0
881 | 0
882 | 0
883 | 0
884 | 0
885 | 0
886 | 0
887 | 0
888 | 0
889 | 0
890 | 0
891 | 0
892 | 0
893 | 0
894 | 0
895 | 0
896 | 0
897 | 0
898 | 0
899 | 0
900 | 0
901 | 0
902 | 0
903 | 0
904 | 0
905 | 0
906 | 0
907 | 0
908 | 0
909 | 0
910 | 0
911 | 0
912 | 0
913 | 0
914 | 0
915 | 0
916 | 0
917 | 0
918 | 0
919 | 0
920 | 0
921 | 0
922 | 0
923 | 0
924 | 0
925 | 0
926 | 0
927 | 0
928 | 0
929 | 0
930 | 0
931 | 0
932 | 0
933 | 0
934 | 0
935 | 0
936 | 0
937 | 0
938 | 0
939 | 0
940 | 0
941 | 0
942 | 0
943 | 0
944 | 0
945 | 0
946 | 0
947 | 0
948 | 0
949 | 0
950 | 0
951 | 0
952 | 0
953 | 0
954 | 0
955 | 0
956 | 0
957 | 0
958 | 0
959 | 0
960 | 0
961 | 0
962 | 0
963 | 0
964 | 0
965 | 0
966 | 0
967 | 0
968 | 0
969 | 0
970 | 0
971 | 0
972 | 0
973 | 0
974 | 0
975 | 0
976 | 0
977 | 0
978 | 0
979 | 0
980 | 0
981 | 0
982 | 0
983 | 0
984 | 0
985 | 0
986 | 0
987 | 0
988 | 0
989 | 0
990 | 0
991 | 0
992 | 0
993 | 0
994 | 0
995 | 0
996 | 0
997 | 0
998 | 0
999 | 0
1000 | 0
1001 | 0
1002 | 0
1003 | 0
1004 | 0
1005 | 0
1006 | 0
1007 | 0
1008 | 0
1009 | 0
1010 | 0
1011 | 0
1012 | 0
1013 | 0
1014 | 0
1015 | 0
1016 | 0
1017 | 0
1018 | 0
1019 | 0
1020 | 0
1021 | 0
1022 | 0
1023 | 0
1024 | 0
1025 | 0
1026 | 0
1027 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/6/6BitMap&&Fat.txt:
--------------------------------------------------------------------------------
1 | 10000000000000000000000000000000
2 | 00000000000000000000000000000000
3 | 00000000000000000000000000000000
4 | 00000000000000000000000000000000
5 | 00000000000000000000000000000000
6 | 00000000000000000000000000000000
7 | 00000000000000000000000000000000
8 | 00000000000000000000000000000000
9 | 00000000000000000000000000000000
10 | 00000000000000000000000000000000
11 | 00000000000000000000000000000000
12 | 00000000000000000000000000000000
13 | 00000000000000000000000000000000
14 | 00000000000000000000000000000000
15 | 00000000000000000000000000000000
16 | 00000000000000000000000000000000
17 | 00000000000000000000000000000000
18 | 00000000000000000000000000000000
19 | 00000000000000000000000000000000
20 | 00000000000000000000000000000000
21 | 00000000000000000000000000000000
22 | 00000000000000000000000000000000
23 | 00000000000000000000000000000000
24 | 00000000000000000000000000000000
25 | 00000000000000000000000000000000
26 | 00000000000000000000000000000000
27 | 00000000000000000000000000000000
28 | 00000000000000000000000000000000
29 | 00000000000000000000000000000000
30 | 00000000000000000000000000000000
31 | 00000000000000000000000000000000
32 | 00000000000000000000000000000000
33 | mojito.txt:0
34 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/6/mojito.txt:
--------------------------------------------------------------------------------
1 | File
2 | 1.0
3 | Name: mojito.txt
4 | Path: myFileSystem\6\mojito.txt
5 | Date last updated: 2020-07-10 03:57:42
6 | --------------------------edit file blew ------------------------------
7 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/6/recover.txt:
--------------------------------------------------------------------------------
1 | 1.0
2 | 1
3 | 1
4 | 0
5 | 0
6 | 0
7 | 0
8 | 0
9 | 0
10 | 0
11 | 0
12 | 0
13 | 0
14 | 0
15 | 0
16 | 0
17 | 0
18 | 0
19 | 0
20 | 0
21 | 0
22 | 0
23 | 0
24 | 0
25 | 0
26 | 0
27 | 0
28 | 0
29 | 0
30 | 0
31 | 0
32 | 0
33 | 0
34 | 0
35 | 0
36 | 0
37 | 0
38 | 0
39 | 0
40 | 0
41 | 0
42 | 0
43 | 0
44 | 0
45 | 0
46 | 0
47 | 0
48 | 0
49 | 0
50 | 0
51 | 0
52 | 0
53 | 0
54 | 0
55 | 0
56 | 0
57 | 0
58 | 0
59 | 0
60 | 0
61 | 0
62 | 0
63 | 0
64 | 0
65 | 0
66 | 0
67 | 0
68 | 0
69 | 0
70 | 0
71 | 0
72 | 0
73 | 0
74 | 0
75 | 0
76 | 0
77 | 0
78 | 0
79 | 0
80 | 0
81 | 0
82 | 0
83 | 0
84 | 0
85 | 0
86 | 0
87 | 0
88 | 0
89 | 0
90 | 0
91 | 0
92 | 0
93 | 0
94 | 0
95 | 0
96 | 0
97 | 0
98 | 0
99 | 0
100 | 0
101 | 0
102 | 0
103 | 0
104 | 0
105 | 0
106 | 0
107 | 0
108 | 0
109 | 0
110 | 0
111 | 0
112 | 0
113 | 0
114 | 0
115 | 0
116 | 0
117 | 0
118 | 0
119 | 0
120 | 0
121 | 0
122 | 0
123 | 0
124 | 0
125 | 0
126 | 0
127 | 0
128 | 0
129 | 0
130 | 0
131 | 0
132 | 0
133 | 0
134 | 0
135 | 0
136 | 0
137 | 0
138 | 0
139 | 0
140 | 0
141 | 0
142 | 0
143 | 0
144 | 0
145 | 0
146 | 0
147 | 0
148 | 0
149 | 0
150 | 0
151 | 0
152 | 0
153 | 0
154 | 0
155 | 0
156 | 0
157 | 0
158 | 0
159 | 0
160 | 0
161 | 0
162 | 0
163 | 0
164 | 0
165 | 0
166 | 0
167 | 0
168 | 0
169 | 0
170 | 0
171 | 0
172 | 0
173 | 0
174 | 0
175 | 0
176 | 0
177 | 0
178 | 0
179 | 0
180 | 0
181 | 0
182 | 0
183 | 0
184 | 0
185 | 0
186 | 0
187 | 0
188 | 0
189 | 0
190 | 0
191 | 0
192 | 0
193 | 0
194 | 0
195 | 0
196 | 0
197 | 0
198 | 0
199 | 0
200 | 0
201 | 0
202 | 0
203 | 0
204 | 0
205 | 0
206 | 0
207 | 0
208 | 0
209 | 0
210 | 0
211 | 0
212 | 0
213 | 0
214 | 0
215 | 0
216 | 0
217 | 0
218 | 0
219 | 0
220 | 0
221 | 0
222 | 0
223 | 0
224 | 0
225 | 0
226 | 0
227 | 0
228 | 0
229 | 0
230 | 0
231 | 0
232 | 0
233 | 0
234 | 0
235 | 0
236 | 0
237 | 0
238 | 0
239 | 0
240 | 0
241 | 0
242 | 0
243 | 0
244 | 0
245 | 0
246 | 0
247 | 0
248 | 0
249 | 0
250 | 0
251 | 0
252 | 0
253 | 0
254 | 0
255 | 0
256 | 0
257 | 0
258 | 0
259 | 0
260 | 0
261 | 0
262 | 0
263 | 0
264 | 0
265 | 0
266 | 0
267 | 0
268 | 0
269 | 0
270 | 0
271 | 0
272 | 0
273 | 0
274 | 0
275 | 0
276 | 0
277 | 0
278 | 0
279 | 0
280 | 0
281 | 0
282 | 0
283 | 0
284 | 0
285 | 0
286 | 0
287 | 0
288 | 0
289 | 0
290 | 0
291 | 0
292 | 0
293 | 0
294 | 0
295 | 0
296 | 0
297 | 0
298 | 0
299 | 0
300 | 0
301 | 0
302 | 0
303 | 0
304 | 0
305 | 0
306 | 0
307 | 0
308 | 0
309 | 0
310 | 0
311 | 0
312 | 0
313 | 0
314 | 0
315 | 0
316 | 0
317 | 0
318 | 0
319 | 0
320 | 0
321 | 0
322 | 0
323 | 0
324 | 0
325 | 0
326 | 0
327 | 0
328 | 0
329 | 0
330 | 0
331 | 0
332 | 0
333 | 0
334 | 0
335 | 0
336 | 0
337 | 0
338 | 0
339 | 0
340 | 0
341 | 0
342 | 0
343 | 0
344 | 0
345 | 0
346 | 0
347 | 0
348 | 0
349 | 0
350 | 0
351 | 0
352 | 0
353 | 0
354 | 0
355 | 0
356 | 0
357 | 0
358 | 0
359 | 0
360 | 0
361 | 0
362 | 0
363 | 0
364 | 0
365 | 0
366 | 0
367 | 0
368 | 0
369 | 0
370 | 0
371 | 0
372 | 0
373 | 0
374 | 0
375 | 0
376 | 0
377 | 0
378 | 0
379 | 0
380 | 0
381 | 0
382 | 0
383 | 0
384 | 0
385 | 0
386 | 0
387 | 0
388 | 0
389 | 0
390 | 0
391 | 0
392 | 0
393 | 0
394 | 0
395 | 0
396 | 0
397 | 0
398 | 0
399 | 0
400 | 0
401 | 0
402 | 0
403 | 0
404 | 0
405 | 0
406 | 0
407 | 0
408 | 0
409 | 0
410 | 0
411 | 0
412 | 0
413 | 0
414 | 0
415 | 0
416 | 0
417 | 0
418 | 0
419 | 0
420 | 0
421 | 0
422 | 0
423 | 0
424 | 0
425 | 0
426 | 0
427 | 0
428 | 0
429 | 0
430 | 0
431 | 0
432 | 0
433 | 0
434 | 0
435 | 0
436 | 0
437 | 0
438 | 0
439 | 0
440 | 0
441 | 0
442 | 0
443 | 0
444 | 0
445 | 0
446 | 0
447 | 0
448 | 0
449 | 0
450 | 0
451 | 0
452 | 0
453 | 0
454 | 0
455 | 0
456 | 0
457 | 0
458 | 0
459 | 0
460 | 0
461 | 0
462 | 0
463 | 0
464 | 0
465 | 0
466 | 0
467 | 0
468 | 0
469 | 0
470 | 0
471 | 0
472 | 0
473 | 0
474 | 0
475 | 0
476 | 0
477 | 0
478 | 0
479 | 0
480 | 0
481 | 0
482 | 0
483 | 0
484 | 0
485 | 0
486 | 0
487 | 0
488 | 0
489 | 0
490 | 0
491 | 0
492 | 0
493 | 0
494 | 0
495 | 0
496 | 0
497 | 0
498 | 0
499 | 0
500 | 0
501 | 0
502 | 0
503 | 0
504 | 0
505 | 0
506 | 0
507 | 0
508 | 0
509 | 0
510 | 0
511 | 0
512 | 0
513 | 0
514 | 0
515 | 0
516 | 0
517 | 0
518 | 0
519 | 0
520 | 0
521 | 0
522 | 0
523 | 0
524 | 0
525 | 0
526 | 0
527 | 0
528 | 0
529 | 0
530 | 0
531 | 0
532 | 0
533 | 0
534 | 0
535 | 0
536 | 0
537 | 0
538 | 0
539 | 0
540 | 0
541 | 0
542 | 0
543 | 0
544 | 0
545 | 0
546 | 0
547 | 0
548 | 0
549 | 0
550 | 0
551 | 0
552 | 0
553 | 0
554 | 0
555 | 0
556 | 0
557 | 0
558 | 0
559 | 0
560 | 0
561 | 0
562 | 0
563 | 0
564 | 0
565 | 0
566 | 0
567 | 0
568 | 0
569 | 0
570 | 0
571 | 0
572 | 0
573 | 0
574 | 0
575 | 0
576 | 0
577 | 0
578 | 0
579 | 0
580 | 0
581 | 0
582 | 0
583 | 0
584 | 0
585 | 0
586 | 0
587 | 0
588 | 0
589 | 0
590 | 0
591 | 0
592 | 0
593 | 0
594 | 0
595 | 0
596 | 0
597 | 0
598 | 0
599 | 0
600 | 0
601 | 0
602 | 0
603 | 0
604 | 0
605 | 0
606 | 0
607 | 0
608 | 0
609 | 0
610 | 0
611 | 0
612 | 0
613 | 0
614 | 0
615 | 0
616 | 0
617 | 0
618 | 0
619 | 0
620 | 0
621 | 0
622 | 0
623 | 0
624 | 0
625 | 0
626 | 0
627 | 0
628 | 0
629 | 0
630 | 0
631 | 0
632 | 0
633 | 0
634 | 0
635 | 0
636 | 0
637 | 0
638 | 0
639 | 0
640 | 0
641 | 0
642 | 0
643 | 0
644 | 0
645 | 0
646 | 0
647 | 0
648 | 0
649 | 0
650 | 0
651 | 0
652 | 0
653 | 0
654 | 0
655 | 0
656 | 0
657 | 0
658 | 0
659 | 0
660 | 0
661 | 0
662 | 0
663 | 0
664 | 0
665 | 0
666 | 0
667 | 0
668 | 0
669 | 0
670 | 0
671 | 0
672 | 0
673 | 0
674 | 0
675 | 0
676 | 0
677 | 0
678 | 0
679 | 0
680 | 0
681 | 0
682 | 0
683 | 0
684 | 0
685 | 0
686 | 0
687 | 0
688 | 0
689 | 0
690 | 0
691 | 0
692 | 0
693 | 0
694 | 0
695 | 0
696 | 0
697 | 0
698 | 0
699 | 0
700 | 0
701 | 0
702 | 0
703 | 0
704 | 0
705 | 0
706 | 0
707 | 0
708 | 0
709 | 0
710 | 0
711 | 0
712 | 0
713 | 0
714 | 0
715 | 0
716 | 0
717 | 0
718 | 0
719 | 0
720 | 0
721 | 0
722 | 0
723 | 0
724 | 0
725 | 0
726 | 0
727 | 0
728 | 0
729 | 0
730 | 0
731 | 0
732 | 0
733 | 0
734 | 0
735 | 0
736 | 0
737 | 0
738 | 0
739 | 0
740 | 0
741 | 0
742 | 0
743 | 0
744 | 0
745 | 0
746 | 0
747 | 0
748 | 0
749 | 0
750 | 0
751 | 0
752 | 0
753 | 0
754 | 0
755 | 0
756 | 0
757 | 0
758 | 0
759 | 0
760 | 0
761 | 0
762 | 0
763 | 0
764 | 0
765 | 0
766 | 0
767 | 0
768 | 0
769 | 0
770 | 0
771 | 0
772 | 0
773 | 0
774 | 0
775 | 0
776 | 0
777 | 0
778 | 0
779 | 0
780 | 0
781 | 0
782 | 0
783 | 0
784 | 0
785 | 0
786 | 0
787 | 0
788 | 0
789 | 0
790 | 0
791 | 0
792 | 0
793 | 0
794 | 0
795 | 0
796 | 0
797 | 0
798 | 0
799 | 0
800 | 0
801 | 0
802 | 0
803 | 0
804 | 0
805 | 0
806 | 0
807 | 0
808 | 0
809 | 0
810 | 0
811 | 0
812 | 0
813 | 0
814 | 0
815 | 0
816 | 0
817 | 0
818 | 0
819 | 0
820 | 0
821 | 0
822 | 0
823 | 0
824 | 0
825 | 0
826 | 0
827 | 0
828 | 0
829 | 0
830 | 0
831 | 0
832 | 0
833 | 0
834 | 0
835 | 0
836 | 0
837 | 0
838 | 0
839 | 0
840 | 0
841 | 0
842 | 0
843 | 0
844 | 0
845 | 0
846 | 0
847 | 0
848 | 0
849 | 0
850 | 0
851 | 0
852 | 0
853 | 0
854 | 0
855 | 0
856 | 0
857 | 0
858 | 0
859 | 0
860 | 0
861 | 0
862 | 0
863 | 0
864 | 0
865 | 0
866 | 0
867 | 0
868 | 0
869 | 0
870 | 0
871 | 0
872 | 0
873 | 0
874 | 0
875 | 0
876 | 0
877 | 0
878 | 0
879 | 0
880 | 0
881 | 0
882 | 0
883 | 0
884 | 0
885 | 0
886 | 0
887 | 0
888 | 0
889 | 0
890 | 0
891 | 0
892 | 0
893 | 0
894 | 0
895 | 0
896 | 0
897 | 0
898 | 0
899 | 0
900 | 0
901 | 0
902 | 0
903 | 0
904 | 0
905 | 0
906 | 0
907 | 0
908 | 0
909 | 0
910 | 0
911 | 0
912 | 0
913 | 0
914 | 0
915 | 0
916 | 0
917 | 0
918 | 0
919 | 0
920 | 0
921 | 0
922 | 0
923 | 0
924 | 0
925 | 0
926 | 0
927 | 0
928 | 0
929 | 0
930 | 0
931 | 0
932 | 0
933 | 0
934 | 0
935 | 0
936 | 0
937 | 0
938 | 0
939 | 0
940 | 0
941 | 0
942 | 0
943 | 0
944 | 0
945 | 0
946 | 0
947 | 0
948 | 0
949 | 0
950 | 0
951 | 0
952 | 0
953 | 0
954 | 0
955 | 0
956 | 0
957 | 0
958 | 0
959 | 0
960 | 0
961 | 0
962 | 0
963 | 0
964 | 0
965 | 0
966 | 0
967 | 0
968 | 0
969 | 0
970 | 0
971 | 0
972 | 0
973 | 0
974 | 0
975 | 0
976 | 0
977 | 0
978 | 0
979 | 0
980 | 0
981 | 0
982 | 0
983 | 0
984 | 0
985 | 0
986 | 0
987 | 0
988 | 0
989 | 0
990 | 0
991 | 0
992 | 0
993 | 0
994 | 0
995 | 0
996 | 0
997 | 0
998 | 0
999 | 0
1000 | 0
1001 | 0
1002 | 0
1003 | 0
1004 | 0
1005 | 0
1006 | 0
1007 | 0
1008 | 0
1009 | 0
1010 | 0
1011 | 0
1012 | 0
1013 | 0
1014 | 0
1015 | 0
1016 | 0
1017 | 0
1018 | 0
1019 | 0
1020 | 0
1021 | 0
1022 | 0
1023 | 0
1024 | 0
1025 | 0
1026 | 0
1027 | mojito.txt
1028 | 1
1029 | 0
1030 | 0
1031 | 0
1032 | 0
1033 | 0
1034 | 0
1035 | 0
1036 | 0
1037 | 0
1038 | 0
1039 | 0
1040 | 0
1041 | 0
1042 | 0
1043 | 0
1044 | 0
1045 | 0
1046 | 0
1047 | 0
1048 | 0
1049 | 0
1050 | 0
1051 | 0
1052 | 0
1053 | 0
1054 | 0
1055 | 0
1056 | 0
1057 | 0
1058 | 0
1059 | 0
1060 | 0
1061 | 0
1062 | 0
1063 | 0
1064 | 0
1065 | 0
1066 | 0
1067 | 0
1068 | 0
1069 | 0
1070 | 0
1071 | 0
1072 | 0
1073 | 0
1074 | 0
1075 | 0
1076 | 0
1077 | 0
1078 | 0
1079 | 0
1080 | 0
1081 | 0
1082 | 0
1083 | 0
1084 | 0
1085 | 0
1086 | 0
1087 | 0
1088 | 0
1089 | 0
1090 | 0
1091 | 0
1092 | 0
1093 | 0
1094 | 0
1095 | 0
1096 | 0
1097 | 0
1098 | 0
1099 | 0
1100 | 0
1101 | 0
1102 | 0
1103 | 0
1104 | 0
1105 | 0
1106 | 0
1107 | 0
1108 | 0
1109 | 0
1110 | 0
1111 | 0
1112 | 0
1113 | 0
1114 | 0
1115 | 0
1116 | 0
1117 | 0
1118 | 0
1119 | 0
1120 | 0
1121 | 0
1122 | 0
1123 | 0
1124 | 0
1125 | 0
1126 | 0
1127 | 0
1128 | 0
1129 | 0
1130 | 0
1131 | 0
1132 | 0
1133 | 0
1134 | 0
1135 | 0
1136 | 0
1137 | 0
1138 | 0
1139 | 0
1140 | 0
1141 | 0
1142 | 0
1143 | 0
1144 | 0
1145 | 0
1146 | 0
1147 | 0
1148 | 0
1149 | 0
1150 | 0
1151 | 0
1152 | 0
1153 | 0
1154 | 0
1155 | 0
1156 | 0
1157 | 0
1158 | 0
1159 | 0
1160 | 0
1161 | 0
1162 | 0
1163 | 0
1164 | 0
1165 | 0
1166 | 0
1167 | 0
1168 | 0
1169 | 0
1170 | 0
1171 | 0
1172 | 0
1173 | 0
1174 | 0
1175 | 0
1176 | 0
1177 | 0
1178 | 0
1179 | 0
1180 | 0
1181 | 0
1182 | 0
1183 | 0
1184 | 0
1185 | 0
1186 | 0
1187 | 0
1188 | 0
1189 | 0
1190 | 0
1191 | 0
1192 | 0
1193 | 0
1194 | 0
1195 | 0
1196 | 0
1197 | 0
1198 | 0
1199 | 0
1200 | 0
1201 | 0
1202 | 0
1203 | 0
1204 | 0
1205 | 0
1206 | 0
1207 | 0
1208 | 0
1209 | 0
1210 | 0
1211 | 0
1212 | 0
1213 | 0
1214 | 0
1215 | 0
1216 | 0
1217 | 0
1218 | 0
1219 | 0
1220 | 0
1221 | 0
1222 | 0
1223 | 0
1224 | 0
1225 | 0
1226 | 0
1227 | 0
1228 | 0
1229 | 0
1230 | 0
1231 | 0
1232 | 0
1233 | 0
1234 | 0
1235 | 0
1236 | 0
1237 | 0
1238 | 0
1239 | 0
1240 | 0
1241 | 0
1242 | 0
1243 | 0
1244 | 0
1245 | 0
1246 | 0
1247 | 0
1248 | 0
1249 | 0
1250 | 0
1251 | 0
1252 | 0
1253 | 0
1254 | 0
1255 | 0
1256 | 0
1257 | 0
1258 | 0
1259 | 0
1260 | 0
1261 | 0
1262 | 0
1263 | 0
1264 | 0
1265 | 0
1266 | 0
1267 | 0
1268 | 0
1269 | 0
1270 | 0
1271 | 0
1272 | 0
1273 | 0
1274 | 0
1275 | 0
1276 | 0
1277 | 0
1278 | 0
1279 | 0
1280 | 0
1281 | 0
1282 | 0
1283 | 0
1284 | 0
1285 | 0
1286 | 0
1287 | 0
1288 | 0
1289 | 0
1290 | 0
1291 | 0
1292 | 0
1293 | 0
1294 | 0
1295 | 0
1296 | 0
1297 | 0
1298 | 0
1299 | 0
1300 | 0
1301 | 0
1302 | 0
1303 | 0
1304 | 0
1305 | 0
1306 | 0
1307 | 0
1308 | 0
1309 | 0
1310 | 0
1311 | 0
1312 | 0
1313 | 0
1314 | 0
1315 | 0
1316 | 0
1317 | 0
1318 | 0
1319 | 0
1320 | 0
1321 | 0
1322 | 0
1323 | 0
1324 | 0
1325 | 0
1326 | 0
1327 | 0
1328 | 0
1329 | 0
1330 | 0
1331 | 0
1332 | 0
1333 | 0
1334 | 0
1335 | 0
1336 | 0
1337 | 0
1338 | 0
1339 | 0
1340 | 0
1341 | 0
1342 | 0
1343 | 0
1344 | 0
1345 | 0
1346 | 0
1347 | 0
1348 | 0
1349 | 0
1350 | 0
1351 | 0
1352 | 0
1353 | 0
1354 | 0
1355 | 0
1356 | 0
1357 | 0
1358 | 0
1359 | 0
1360 | 0
1361 | 0
1362 | 0
1363 | 0
1364 | 0
1365 | 0
1366 | 0
1367 | 0
1368 | 0
1369 | 0
1370 | 0
1371 | 0
1372 | 0
1373 | 0
1374 | 0
1375 | 0
1376 | 0
1377 | 0
1378 | 0
1379 | 0
1380 | 0
1381 | 0
1382 | 0
1383 | 0
1384 | 0
1385 | 0
1386 | 0
1387 | 0
1388 | 0
1389 | 0
1390 | 0
1391 | 0
1392 | 0
1393 | 0
1394 | 0
1395 | 0
1396 | 0
1397 | 0
1398 | 0
1399 | 0
1400 | 0
1401 | 0
1402 | 0
1403 | 0
1404 | 0
1405 | 0
1406 | 0
1407 | 0
1408 | 0
1409 | 0
1410 | 0
1411 | 0
1412 | 0
1413 | 0
1414 | 0
1415 | 0
1416 | 0
1417 | 0
1418 | 0
1419 | 0
1420 | 0
1421 | 0
1422 | 0
1423 | 0
1424 | 0
1425 | 0
1426 | 0
1427 | 0
1428 | 0
1429 | 0
1430 | 0
1431 | 0
1432 | 0
1433 | 0
1434 | 0
1435 | 0
1436 | 0
1437 | 0
1438 | 0
1439 | 0
1440 | 0
1441 | 0
1442 | 0
1443 | 0
1444 | 0
1445 | 0
1446 | 0
1447 | 0
1448 | 0
1449 | 0
1450 | 0
1451 | 0
1452 | 0
1453 | 0
1454 | 0
1455 | 0
1456 | 0
1457 | 0
1458 | 0
1459 | 0
1460 | 0
1461 | 0
1462 | 0
1463 | 0
1464 | 0
1465 | 0
1466 | 0
1467 | 0
1468 | 0
1469 | 0
1470 | 0
1471 | 0
1472 | 0
1473 | 0
1474 | 0
1475 | 0
1476 | 0
1477 | 0
1478 | 0
1479 | 0
1480 | 0
1481 | 0
1482 | 0
1483 | 0
1484 | 0
1485 | 0
1486 | 0
1487 | 0
1488 | 0
1489 | 0
1490 | 0
1491 | 0
1492 | 0
1493 | 0
1494 | 0
1495 | 0
1496 | 0
1497 | 0
1498 | 0
1499 | 0
1500 | 0
1501 | 0
1502 | 0
1503 | 0
1504 | 0
1505 | 0
1506 | 0
1507 | 0
1508 | 0
1509 | 0
1510 | 0
1511 | 0
1512 | 0
1513 | 0
1514 | 0
1515 | 0
1516 | 0
1517 | 0
1518 | 0
1519 | 0
1520 | 0
1521 | 0
1522 | 0
1523 | 0
1524 | 0
1525 | 0
1526 | 0
1527 | 0
1528 | 0
1529 | 0
1530 | 0
1531 | 0
1532 | 0
1533 | 0
1534 | 0
1535 | 0
1536 | 0
1537 | 0
1538 | 0
1539 | 0
1540 | 0
1541 | 0
1542 | 0
1543 | 0
1544 | 0
1545 | 0
1546 | 0
1547 | 0
1548 | 0
1549 | 0
1550 | 0
1551 | 0
1552 | 0
1553 | 0
1554 | 0
1555 | 0
1556 | 0
1557 | 0
1558 | 0
1559 | 0
1560 | 0
1561 | 0
1562 | 0
1563 | 0
1564 | 0
1565 | 0
1566 | 0
1567 | 0
1568 | 0
1569 | 0
1570 | 0
1571 | 0
1572 | 0
1573 | 0
1574 | 0
1575 | 0
1576 | 0
1577 | 0
1578 | 0
1579 | 0
1580 | 0
1581 | 0
1582 | 0
1583 | 0
1584 | 0
1585 | 0
1586 | 0
1587 | 0
1588 | 0
1589 | 0
1590 | 0
1591 | 0
1592 | 0
1593 | 0
1594 | 0
1595 | 0
1596 | 0
1597 | 0
1598 | 0
1599 | 0
1600 | 0
1601 | 0
1602 | 0
1603 | 0
1604 | 0
1605 | 0
1606 | 0
1607 | 0
1608 | 0
1609 | 0
1610 | 0
1611 | 0
1612 | 0
1613 | 0
1614 | 0
1615 | 0
1616 | 0
1617 | 0
1618 | 0
1619 | 0
1620 | 0
1621 | 0
1622 | 0
1623 | 0
1624 | 0
1625 | 0
1626 | 0
1627 | 0
1628 | 0
1629 | 0
1630 | 0
1631 | 0
1632 | 0
1633 | 0
1634 | 0
1635 | 0
1636 | 0
1637 | 0
1638 | 0
1639 | 0
1640 | 0
1641 | 0
1642 | 0
1643 | 0
1644 | 0
1645 | 0
1646 | 0
1647 | 0
1648 | 0
1649 | 0
1650 | 0
1651 | 0
1652 | 0
1653 | 0
1654 | 0
1655 | 0
1656 | 0
1657 | 0
1658 | 0
1659 | 0
1660 | 0
1661 | 0
1662 | 0
1663 | 0
1664 | 0
1665 | 0
1666 | 0
1667 | 0
1668 | 0
1669 | 0
1670 | 0
1671 | 0
1672 | 0
1673 | 0
1674 | 0
1675 | 0
1676 | 0
1677 | 0
1678 | 0
1679 | 0
1680 | 0
1681 | 0
1682 | 0
1683 | 0
1684 | 0
1685 | 0
1686 | 0
1687 | 0
1688 | 0
1689 | 0
1690 | 0
1691 | 0
1692 | 0
1693 | 0
1694 | 0
1695 | 0
1696 | 0
1697 | 0
1698 | 0
1699 | 0
1700 | 0
1701 | 0
1702 | 0
1703 | 0
1704 | 0
1705 | 0
1706 | 0
1707 | 0
1708 | 0
1709 | 0
1710 | 0
1711 | 0
1712 | 0
1713 | 0
1714 | 0
1715 | 0
1716 | 0
1717 | 0
1718 | 0
1719 | 0
1720 | 0
1721 | 0
1722 | 0
1723 | 0
1724 | 0
1725 | 0
1726 | 0
1727 | 0
1728 | 0
1729 | 0
1730 | 0
1731 | 0
1732 | 0
1733 | 0
1734 | 0
1735 | 0
1736 | 0
1737 | 0
1738 | 0
1739 | 0
1740 | 0
1741 | 0
1742 | 0
1743 | 0
1744 | 0
1745 | 0
1746 | 0
1747 | 0
1748 | 0
1749 | 0
1750 | 0
1751 | 0
1752 | 0
1753 | 0
1754 | 0
1755 | 0
1756 | 0
1757 | 0
1758 | 0
1759 | 0
1760 | 0
1761 | 0
1762 | 0
1763 | 0
1764 | 0
1765 | 0
1766 | 0
1767 | 0
1768 | 0
1769 | 0
1770 | 0
1771 | 0
1772 | 0
1773 | 0
1774 | 0
1775 | 0
1776 | 0
1777 | 0
1778 | 0
1779 | 0
1780 | 0
1781 | 0
1782 | 0
1783 | 0
1784 | 0
1785 | 0
1786 | 0
1787 | 0
1788 | 0
1789 | 0
1790 | 0
1791 | 0
1792 | 0
1793 | 0
1794 | 0
1795 | 0
1796 | 0
1797 | 0
1798 | 0
1799 | 0
1800 | 0
1801 | 0
1802 | 0
1803 | 0
1804 | 0
1805 | 0
1806 | 0
1807 | 0
1808 | 0
1809 | 0
1810 | 0
1811 | 0
1812 | 0
1813 | 0
1814 | 0
1815 | 0
1816 | 0
1817 | 0
1818 | 0
1819 | 0
1820 | 0
1821 | 0
1822 | 0
1823 | 0
1824 | 0
1825 | 0
1826 | 0
1827 | 0
1828 | 0
1829 | 0
1830 | 0
1831 | 0
1832 | 0
1833 | 0
1834 | 0
1835 | 0
1836 | 0
1837 | 0
1838 | 0
1839 | 0
1840 | 0
1841 | 0
1842 | 0
1843 | 0
1844 | 0
1845 | 0
1846 | 0
1847 | 0
1848 | 0
1849 | 0
1850 | 0
1851 | 0
1852 | 0
1853 | 0
1854 | 0
1855 | 0
1856 | 0
1857 | 0
1858 | 0
1859 | 0
1860 | 0
1861 | 0
1862 | 0
1863 | 0
1864 | 0
1865 | 0
1866 | 0
1867 | 0
1868 | 0
1869 | 0
1870 | 0
1871 | 0
1872 | 0
1873 | 0
1874 | 0
1875 | 0
1876 | 0
1877 | 0
1878 | 0
1879 | 0
1880 | 0
1881 | 0
1882 | 0
1883 | 0
1884 | 0
1885 | 0
1886 | 0
1887 | 0
1888 | 0
1889 | 0
1890 | 0
1891 | 0
1892 | 0
1893 | 0
1894 | 0
1895 | 0
1896 | 0
1897 | 0
1898 | 0
1899 | 0
1900 | 0
1901 | 0
1902 | 0
1903 | 0
1904 | 0
1905 | 0
1906 | 0
1907 | 0
1908 | 0
1909 | 0
1910 | 0
1911 | 0
1912 | 0
1913 | 0
1914 | 0
1915 | 0
1916 | 0
1917 | 0
1918 | 0
1919 | 0
1920 | 0
1921 | 0
1922 | 0
1923 | 0
1924 | 0
1925 | 0
1926 | 0
1927 | 0
1928 | 0
1929 | 0
1930 | 0
1931 | 0
1932 | 0
1933 | 0
1934 | 0
1935 | 0
1936 | 0
1937 | 0
1938 | 0
1939 | 0
1940 | 0
1941 | 0
1942 | 0
1943 | 0
1944 | 0
1945 | 0
1946 | 0
1947 | 0
1948 | 0
1949 | 0
1950 | 0
1951 | 0
1952 | 0
1953 | 0
1954 | 0
1955 | 0
1956 | 0
1957 | 0
1958 | 0
1959 | 0
1960 | 0
1961 | 0
1962 | 0
1963 | 0
1964 | 0
1965 | 0
1966 | 0
1967 | 0
1968 | 0
1969 | 0
1970 | 0
1971 | 0
1972 | 0
1973 | 0
1974 | 0
1975 | 0
1976 | 0
1977 | 0
1978 | 0
1979 | 0
1980 | 0
1981 | 0
1982 | 0
1983 | 0
1984 | 0
1985 | 0
1986 | 0
1987 | 0
1988 | 0
1989 | 0
1990 | 0
1991 | 0
1992 | 0
1993 | 0
1994 | 0
1995 | 0
1996 | 0
1997 | 0
1998 | 0
1999 | 0
2000 | 0
2001 | 0
2002 | 0
2003 | 0
2004 | 0
2005 | 0
2006 | 0
2007 | 0
2008 | 0
2009 | 0
2010 | 0
2011 | 0
2012 | 0
2013 | 0
2014 | 0
2015 | 0
2016 | 0
2017 | 0
2018 | 0
2019 | 0
2020 | 0
2021 | 0
2022 | 0
2023 | 0
2024 | 0
2025 | 0
2026 | 0
2027 | 0
2028 | 0
2029 | 0
2030 | 0
2031 | 0
2032 | 0
2033 | 0
2034 | 0
2035 | 0
2036 | 0
2037 | 0
2038 | 0
2039 | 0
2040 | 0
2041 | 0
2042 | 0
2043 | 0
2044 | 0
2045 | 0
2046 | 0
2047 | 0
2048 | 0
2049 | 0
2050 | 0
2051 | 0
2052 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/7/7BitMap&&Fat.txt:
--------------------------------------------------------------------------------
1 | 00000000000000000000000000000000
2 | 00000000000000000000000000000000
3 | 00000000000000000000000000000000
4 | 00000000000000000000000000000000
5 | 00000000000000000000000000000000
6 | 00000000000000000000000000000000
7 | 00000000000000000000000000000000
8 | 00000000000000000000000000000000
9 | 00000000000000000000000000000000
10 | 00000000000000000000000000000000
11 | 00000000000000000000000000000000
12 | 00000000000000000000000000000000
13 | 00000000000000000000000000000000
14 | 00000000000000000000000000000000
15 | 00000000000000000000000000000000
16 | 00000000000000000000000000000000
17 | 00000000000000000000000000000000
18 | 00000000000000000000000000000000
19 | 00000000000000000000000000000000
20 | 00000000000000000000000000000000
21 | 00000000000000000000000000000000
22 | 00000000000000000000000000000000
23 | 00000000000000000000000000000000
24 | 00000000000000000000000000000000
25 | 00000000000000000000000000000000
26 | 00000000000000000000000000000000
27 | 00000000000000000000000000000000
28 | 00000000000000000000000000000000
29 | 00000000000000000000000000000000
30 | 00000000000000000000000000000000
31 | 00000000000000000000000000000000
32 | 00000000000000000000000000000000
33 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/7/recover.txt:
--------------------------------------------------------------------------------
1 | 0.0
2 | 0
3 | 0
4 | 0
5 | 0
6 | 0
7 | 0
8 | 0
9 | 0
10 | 0
11 | 0
12 | 0
13 | 0
14 | 0
15 | 0
16 | 0
17 | 0
18 | 0
19 | 0
20 | 0
21 | 0
22 | 0
23 | 0
24 | 0
25 | 0
26 | 0
27 | 0
28 | 0
29 | 0
30 | 0
31 | 0
32 | 0
33 | 0
34 | 0
35 | 0
36 | 0
37 | 0
38 | 0
39 | 0
40 | 0
41 | 0
42 | 0
43 | 0
44 | 0
45 | 0
46 | 0
47 | 0
48 | 0
49 | 0
50 | 0
51 | 0
52 | 0
53 | 0
54 | 0
55 | 0
56 | 0
57 | 0
58 | 0
59 | 0
60 | 0
61 | 0
62 | 0
63 | 0
64 | 0
65 | 0
66 | 0
67 | 0
68 | 0
69 | 0
70 | 0
71 | 0
72 | 0
73 | 0
74 | 0
75 | 0
76 | 0
77 | 0
78 | 0
79 | 0
80 | 0
81 | 0
82 | 0
83 | 0
84 | 0
85 | 0
86 | 0
87 | 0
88 | 0
89 | 0
90 | 0
91 | 0
92 | 0
93 | 0
94 | 0
95 | 0
96 | 0
97 | 0
98 | 0
99 | 0
100 | 0
101 | 0
102 | 0
103 | 0
104 | 0
105 | 0
106 | 0
107 | 0
108 | 0
109 | 0
110 | 0
111 | 0
112 | 0
113 | 0
114 | 0
115 | 0
116 | 0
117 | 0
118 | 0
119 | 0
120 | 0
121 | 0
122 | 0
123 | 0
124 | 0
125 | 0
126 | 0
127 | 0
128 | 0
129 | 0
130 | 0
131 | 0
132 | 0
133 | 0
134 | 0
135 | 0
136 | 0
137 | 0
138 | 0
139 | 0
140 | 0
141 | 0
142 | 0
143 | 0
144 | 0
145 | 0
146 | 0
147 | 0
148 | 0
149 | 0
150 | 0
151 | 0
152 | 0
153 | 0
154 | 0
155 | 0
156 | 0
157 | 0
158 | 0
159 | 0
160 | 0
161 | 0
162 | 0
163 | 0
164 | 0
165 | 0
166 | 0
167 | 0
168 | 0
169 | 0
170 | 0
171 | 0
172 | 0
173 | 0
174 | 0
175 | 0
176 | 0
177 | 0
178 | 0
179 | 0
180 | 0
181 | 0
182 | 0
183 | 0
184 | 0
185 | 0
186 | 0
187 | 0
188 | 0
189 | 0
190 | 0
191 | 0
192 | 0
193 | 0
194 | 0
195 | 0
196 | 0
197 | 0
198 | 0
199 | 0
200 | 0
201 | 0
202 | 0
203 | 0
204 | 0
205 | 0
206 | 0
207 | 0
208 | 0
209 | 0
210 | 0
211 | 0
212 | 0
213 | 0
214 | 0
215 | 0
216 | 0
217 | 0
218 | 0
219 | 0
220 | 0
221 | 0
222 | 0
223 | 0
224 | 0
225 | 0
226 | 0
227 | 0
228 | 0
229 | 0
230 | 0
231 | 0
232 | 0
233 | 0
234 | 0
235 | 0
236 | 0
237 | 0
238 | 0
239 | 0
240 | 0
241 | 0
242 | 0
243 | 0
244 | 0
245 | 0
246 | 0
247 | 0
248 | 0
249 | 0
250 | 0
251 | 0
252 | 0
253 | 0
254 | 0
255 | 0
256 | 0
257 | 0
258 | 0
259 | 0
260 | 0
261 | 0
262 | 0
263 | 0
264 | 0
265 | 0
266 | 0
267 | 0
268 | 0
269 | 0
270 | 0
271 | 0
272 | 0
273 | 0
274 | 0
275 | 0
276 | 0
277 | 0
278 | 0
279 | 0
280 | 0
281 | 0
282 | 0
283 | 0
284 | 0
285 | 0
286 | 0
287 | 0
288 | 0
289 | 0
290 | 0
291 | 0
292 | 0
293 | 0
294 | 0
295 | 0
296 | 0
297 | 0
298 | 0
299 | 0
300 | 0
301 | 0
302 | 0
303 | 0
304 | 0
305 | 0
306 | 0
307 | 0
308 | 0
309 | 0
310 | 0
311 | 0
312 | 0
313 | 0
314 | 0
315 | 0
316 | 0
317 | 0
318 | 0
319 | 0
320 | 0
321 | 0
322 | 0
323 | 0
324 | 0
325 | 0
326 | 0
327 | 0
328 | 0
329 | 0
330 | 0
331 | 0
332 | 0
333 | 0
334 | 0
335 | 0
336 | 0
337 | 0
338 | 0
339 | 0
340 | 0
341 | 0
342 | 0
343 | 0
344 | 0
345 | 0
346 | 0
347 | 0
348 | 0
349 | 0
350 | 0
351 | 0
352 | 0
353 | 0
354 | 0
355 | 0
356 | 0
357 | 0
358 | 0
359 | 0
360 | 0
361 | 0
362 | 0
363 | 0
364 | 0
365 | 0
366 | 0
367 | 0
368 | 0
369 | 0
370 | 0
371 | 0
372 | 0
373 | 0
374 | 0
375 | 0
376 | 0
377 | 0
378 | 0
379 | 0
380 | 0
381 | 0
382 | 0
383 | 0
384 | 0
385 | 0
386 | 0
387 | 0
388 | 0
389 | 0
390 | 0
391 | 0
392 | 0
393 | 0
394 | 0
395 | 0
396 | 0
397 | 0
398 | 0
399 | 0
400 | 0
401 | 0
402 | 0
403 | 0
404 | 0
405 | 0
406 | 0
407 | 0
408 | 0
409 | 0
410 | 0
411 | 0
412 | 0
413 | 0
414 | 0
415 | 0
416 | 0
417 | 0
418 | 0
419 | 0
420 | 0
421 | 0
422 | 0
423 | 0
424 | 0
425 | 0
426 | 0
427 | 0
428 | 0
429 | 0
430 | 0
431 | 0
432 | 0
433 | 0
434 | 0
435 | 0
436 | 0
437 | 0
438 | 0
439 | 0
440 | 0
441 | 0
442 | 0
443 | 0
444 | 0
445 | 0
446 | 0
447 | 0
448 | 0
449 | 0
450 | 0
451 | 0
452 | 0
453 | 0
454 | 0
455 | 0
456 | 0
457 | 0
458 | 0
459 | 0
460 | 0
461 | 0
462 | 0
463 | 0
464 | 0
465 | 0
466 | 0
467 | 0
468 | 0
469 | 0
470 | 0
471 | 0
472 | 0
473 | 0
474 | 0
475 | 0
476 | 0
477 | 0
478 | 0
479 | 0
480 | 0
481 | 0
482 | 0
483 | 0
484 | 0
485 | 0
486 | 0
487 | 0
488 | 0
489 | 0
490 | 0
491 | 0
492 | 0
493 | 0
494 | 0
495 | 0
496 | 0
497 | 0
498 | 0
499 | 0
500 | 0
501 | 0
502 | 0
503 | 0
504 | 0
505 | 0
506 | 0
507 | 0
508 | 0
509 | 0
510 | 0
511 | 0
512 | 0
513 | 0
514 | 0
515 | 0
516 | 0
517 | 0
518 | 0
519 | 0
520 | 0
521 | 0
522 | 0
523 | 0
524 | 0
525 | 0
526 | 0
527 | 0
528 | 0
529 | 0
530 | 0
531 | 0
532 | 0
533 | 0
534 | 0
535 | 0
536 | 0
537 | 0
538 | 0
539 | 0
540 | 0
541 | 0
542 | 0
543 | 0
544 | 0
545 | 0
546 | 0
547 | 0
548 | 0
549 | 0
550 | 0
551 | 0
552 | 0
553 | 0
554 | 0
555 | 0
556 | 0
557 | 0
558 | 0
559 | 0
560 | 0
561 | 0
562 | 0
563 | 0
564 | 0
565 | 0
566 | 0
567 | 0
568 | 0
569 | 0
570 | 0
571 | 0
572 | 0
573 | 0
574 | 0
575 | 0
576 | 0
577 | 0
578 | 0
579 | 0
580 | 0
581 | 0
582 | 0
583 | 0
584 | 0
585 | 0
586 | 0
587 | 0
588 | 0
589 | 0
590 | 0
591 | 0
592 | 0
593 | 0
594 | 0
595 | 0
596 | 0
597 | 0
598 | 0
599 | 0
600 | 0
601 | 0
602 | 0
603 | 0
604 | 0
605 | 0
606 | 0
607 | 0
608 | 0
609 | 0
610 | 0
611 | 0
612 | 0
613 | 0
614 | 0
615 | 0
616 | 0
617 | 0
618 | 0
619 | 0
620 | 0
621 | 0
622 | 0
623 | 0
624 | 0
625 | 0
626 | 0
627 | 0
628 | 0
629 | 0
630 | 0
631 | 0
632 | 0
633 | 0
634 | 0
635 | 0
636 | 0
637 | 0
638 | 0
639 | 0
640 | 0
641 | 0
642 | 0
643 | 0
644 | 0
645 | 0
646 | 0
647 | 0
648 | 0
649 | 0
650 | 0
651 | 0
652 | 0
653 | 0
654 | 0
655 | 0
656 | 0
657 | 0
658 | 0
659 | 0
660 | 0
661 | 0
662 | 0
663 | 0
664 | 0
665 | 0
666 | 0
667 | 0
668 | 0
669 | 0
670 | 0
671 | 0
672 | 0
673 | 0
674 | 0
675 | 0
676 | 0
677 | 0
678 | 0
679 | 0
680 | 0
681 | 0
682 | 0
683 | 0
684 | 0
685 | 0
686 | 0
687 | 0
688 | 0
689 | 0
690 | 0
691 | 0
692 | 0
693 | 0
694 | 0
695 | 0
696 | 0
697 | 0
698 | 0
699 | 0
700 | 0
701 | 0
702 | 0
703 | 0
704 | 0
705 | 0
706 | 0
707 | 0
708 | 0
709 | 0
710 | 0
711 | 0
712 | 0
713 | 0
714 | 0
715 | 0
716 | 0
717 | 0
718 | 0
719 | 0
720 | 0
721 | 0
722 | 0
723 | 0
724 | 0
725 | 0
726 | 0
727 | 0
728 | 0
729 | 0
730 | 0
731 | 0
732 | 0
733 | 0
734 | 0
735 | 0
736 | 0
737 | 0
738 | 0
739 | 0
740 | 0
741 | 0
742 | 0
743 | 0
744 | 0
745 | 0
746 | 0
747 | 0
748 | 0
749 | 0
750 | 0
751 | 0
752 | 0
753 | 0
754 | 0
755 | 0
756 | 0
757 | 0
758 | 0
759 | 0
760 | 0
761 | 0
762 | 0
763 | 0
764 | 0
765 | 0
766 | 0
767 | 0
768 | 0
769 | 0
770 | 0
771 | 0
772 | 0
773 | 0
774 | 0
775 | 0
776 | 0
777 | 0
778 | 0
779 | 0
780 | 0
781 | 0
782 | 0
783 | 0
784 | 0
785 | 0
786 | 0
787 | 0
788 | 0
789 | 0
790 | 0
791 | 0
792 | 0
793 | 0
794 | 0
795 | 0
796 | 0
797 | 0
798 | 0
799 | 0
800 | 0
801 | 0
802 | 0
803 | 0
804 | 0
805 | 0
806 | 0
807 | 0
808 | 0
809 | 0
810 | 0
811 | 0
812 | 0
813 | 0
814 | 0
815 | 0
816 | 0
817 | 0
818 | 0
819 | 0
820 | 0
821 | 0
822 | 0
823 | 0
824 | 0
825 | 0
826 | 0
827 | 0
828 | 0
829 | 0
830 | 0
831 | 0
832 | 0
833 | 0
834 | 0
835 | 0
836 | 0
837 | 0
838 | 0
839 | 0
840 | 0
841 | 0
842 | 0
843 | 0
844 | 0
845 | 0
846 | 0
847 | 0
848 | 0
849 | 0
850 | 0
851 | 0
852 | 0
853 | 0
854 | 0
855 | 0
856 | 0
857 | 0
858 | 0
859 | 0
860 | 0
861 | 0
862 | 0
863 | 0
864 | 0
865 | 0
866 | 0
867 | 0
868 | 0
869 | 0
870 | 0
871 | 0
872 | 0
873 | 0
874 | 0
875 | 0
876 | 0
877 | 0
878 | 0
879 | 0
880 | 0
881 | 0
882 | 0
883 | 0
884 | 0
885 | 0
886 | 0
887 | 0
888 | 0
889 | 0
890 | 0
891 | 0
892 | 0
893 | 0
894 | 0
895 | 0
896 | 0
897 | 0
898 | 0
899 | 0
900 | 0
901 | 0
902 | 0
903 | 0
904 | 0
905 | 0
906 | 0
907 | 0
908 | 0
909 | 0
910 | 0
911 | 0
912 | 0
913 | 0
914 | 0
915 | 0
916 | 0
917 | 0
918 | 0
919 | 0
920 | 0
921 | 0
922 | 0
923 | 0
924 | 0
925 | 0
926 | 0
927 | 0
928 | 0
929 | 0
930 | 0
931 | 0
932 | 0
933 | 0
934 | 0
935 | 0
936 | 0
937 | 0
938 | 0
939 | 0
940 | 0
941 | 0
942 | 0
943 | 0
944 | 0
945 | 0
946 | 0
947 | 0
948 | 0
949 | 0
950 | 0
951 | 0
952 | 0
953 | 0
954 | 0
955 | 0
956 | 0
957 | 0
958 | 0
959 | 0
960 | 0
961 | 0
962 | 0
963 | 0
964 | 0
965 | 0
966 | 0
967 | 0
968 | 0
969 | 0
970 | 0
971 | 0
972 | 0
973 | 0
974 | 0
975 | 0
976 | 0
977 | 0
978 | 0
979 | 0
980 | 0
981 | 0
982 | 0
983 | 0
984 | 0
985 | 0
986 | 0
987 | 0
988 | 0
989 | 0
990 | 0
991 | 0
992 | 0
993 | 0
994 | 0
995 | 0
996 | 0
997 | 0
998 | 0
999 | 0
1000 | 0
1001 | 0
1002 | 0
1003 | 0
1004 | 0
1005 | 0
1006 | 0
1007 | 0
1008 | 0
1009 | 0
1010 | 0
1011 | 0
1012 | 0
1013 | 0
1014 | 0
1015 | 0
1016 | 0
1017 | 0
1018 | 0
1019 | 0
1020 | 0
1021 | 0
1022 | 0
1023 | 0
1024 | 0
1025 | 0
1026 | 0
1027 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/8/8BitMap&&Fat.txt:
--------------------------------------------------------------------------------
1 | 00000000000000000000000000000000
2 | 00000000000000000000000000000000
3 | 00000000000000000000000000000000
4 | 00000000000000000000000000000000
5 | 00000000000000000000000000000000
6 | 00000000000000000000000000000000
7 | 00000000000000000000000000000000
8 | 00000000000000000000000000000000
9 | 00000000000000000000000000000000
10 | 00000000000000000000000000000000
11 | 00000000000000000000000000000000
12 | 00000000000000000000000000000000
13 | 00000000000000000000000000000000
14 | 00000000000000000000000000000000
15 | 00000000000000000000000000000000
16 | 00000000000000000000000000000000
17 | 00000000000000000000000000000000
18 | 00000000000000000000000000000000
19 | 00000000000000000000000000000000
20 | 00000000000000000000000000000000
21 | 00000000000000000000000000000000
22 | 00000000000000000000000000000000
23 | 00000000000000000000000000000000
24 | 00000000000000000000000000000000
25 | 00000000000000000000000000000000
26 | 00000000000000000000000000000000
27 | 00000000000000000000000000000000
28 | 00000000000000000000000000000000
29 | 00000000000000000000000000000000
30 | 00000000000000000000000000000000
31 | 00000000000000000000000000000000
32 | 00000000000000000000000000000000
33 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/8/recover.txt:
--------------------------------------------------------------------------------
1 | 0.0
2 | 0
3 | 0
4 | 0
5 | 0
6 | 0
7 | 0
8 | 0
9 | 0
10 | 0
11 | 0
12 | 0
13 | 0
14 | 0
15 | 0
16 | 0
17 | 0
18 | 0
19 | 0
20 | 0
21 | 0
22 | 0
23 | 0
24 | 0
25 | 0
26 | 0
27 | 0
28 | 0
29 | 0
30 | 0
31 | 0
32 | 0
33 | 0
34 | 0
35 | 0
36 | 0
37 | 0
38 | 0
39 | 0
40 | 0
41 | 0
42 | 0
43 | 0
44 | 0
45 | 0
46 | 0
47 | 0
48 | 0
49 | 0
50 | 0
51 | 0
52 | 0
53 | 0
54 | 0
55 | 0
56 | 0
57 | 0
58 | 0
59 | 0
60 | 0
61 | 0
62 | 0
63 | 0
64 | 0
65 | 0
66 | 0
67 | 0
68 | 0
69 | 0
70 | 0
71 | 0
72 | 0
73 | 0
74 | 0
75 | 0
76 | 0
77 | 0
78 | 0
79 | 0
80 | 0
81 | 0
82 | 0
83 | 0
84 | 0
85 | 0
86 | 0
87 | 0
88 | 0
89 | 0
90 | 0
91 | 0
92 | 0
93 | 0
94 | 0
95 | 0
96 | 0
97 | 0
98 | 0
99 | 0
100 | 0
101 | 0
102 | 0
103 | 0
104 | 0
105 | 0
106 | 0
107 | 0
108 | 0
109 | 0
110 | 0
111 | 0
112 | 0
113 | 0
114 | 0
115 | 0
116 | 0
117 | 0
118 | 0
119 | 0
120 | 0
121 | 0
122 | 0
123 | 0
124 | 0
125 | 0
126 | 0
127 | 0
128 | 0
129 | 0
130 | 0
131 | 0
132 | 0
133 | 0
134 | 0
135 | 0
136 | 0
137 | 0
138 | 0
139 | 0
140 | 0
141 | 0
142 | 0
143 | 0
144 | 0
145 | 0
146 | 0
147 | 0
148 | 0
149 | 0
150 | 0
151 | 0
152 | 0
153 | 0
154 | 0
155 | 0
156 | 0
157 | 0
158 | 0
159 | 0
160 | 0
161 | 0
162 | 0
163 | 0
164 | 0
165 | 0
166 | 0
167 | 0
168 | 0
169 | 0
170 | 0
171 | 0
172 | 0
173 | 0
174 | 0
175 | 0
176 | 0
177 | 0
178 | 0
179 | 0
180 | 0
181 | 0
182 | 0
183 | 0
184 | 0
185 | 0
186 | 0
187 | 0
188 | 0
189 | 0
190 | 0
191 | 0
192 | 0
193 | 0
194 | 0
195 | 0
196 | 0
197 | 0
198 | 0
199 | 0
200 | 0
201 | 0
202 | 0
203 | 0
204 | 0
205 | 0
206 | 0
207 | 0
208 | 0
209 | 0
210 | 0
211 | 0
212 | 0
213 | 0
214 | 0
215 | 0
216 | 0
217 | 0
218 | 0
219 | 0
220 | 0
221 | 0
222 | 0
223 | 0
224 | 0
225 | 0
226 | 0
227 | 0
228 | 0
229 | 0
230 | 0
231 | 0
232 | 0
233 | 0
234 | 0
235 | 0
236 | 0
237 | 0
238 | 0
239 | 0
240 | 0
241 | 0
242 | 0
243 | 0
244 | 0
245 | 0
246 | 0
247 | 0
248 | 0
249 | 0
250 | 0
251 | 0
252 | 0
253 | 0
254 | 0
255 | 0
256 | 0
257 | 0
258 | 0
259 | 0
260 | 0
261 | 0
262 | 0
263 | 0
264 | 0
265 | 0
266 | 0
267 | 0
268 | 0
269 | 0
270 | 0
271 | 0
272 | 0
273 | 0
274 | 0
275 | 0
276 | 0
277 | 0
278 | 0
279 | 0
280 | 0
281 | 0
282 | 0
283 | 0
284 | 0
285 | 0
286 | 0
287 | 0
288 | 0
289 | 0
290 | 0
291 | 0
292 | 0
293 | 0
294 | 0
295 | 0
296 | 0
297 | 0
298 | 0
299 | 0
300 | 0
301 | 0
302 | 0
303 | 0
304 | 0
305 | 0
306 | 0
307 | 0
308 | 0
309 | 0
310 | 0
311 | 0
312 | 0
313 | 0
314 | 0
315 | 0
316 | 0
317 | 0
318 | 0
319 | 0
320 | 0
321 | 0
322 | 0
323 | 0
324 | 0
325 | 0
326 | 0
327 | 0
328 | 0
329 | 0
330 | 0
331 | 0
332 | 0
333 | 0
334 | 0
335 | 0
336 | 0
337 | 0
338 | 0
339 | 0
340 | 0
341 | 0
342 | 0
343 | 0
344 | 0
345 | 0
346 | 0
347 | 0
348 | 0
349 | 0
350 | 0
351 | 0
352 | 0
353 | 0
354 | 0
355 | 0
356 | 0
357 | 0
358 | 0
359 | 0
360 | 0
361 | 0
362 | 0
363 | 0
364 | 0
365 | 0
366 | 0
367 | 0
368 | 0
369 | 0
370 | 0
371 | 0
372 | 0
373 | 0
374 | 0
375 | 0
376 | 0
377 | 0
378 | 0
379 | 0
380 | 0
381 | 0
382 | 0
383 | 0
384 | 0
385 | 0
386 | 0
387 | 0
388 | 0
389 | 0
390 | 0
391 | 0
392 | 0
393 | 0
394 | 0
395 | 0
396 | 0
397 | 0
398 | 0
399 | 0
400 | 0
401 | 0
402 | 0
403 | 0
404 | 0
405 | 0
406 | 0
407 | 0
408 | 0
409 | 0
410 | 0
411 | 0
412 | 0
413 | 0
414 | 0
415 | 0
416 | 0
417 | 0
418 | 0
419 | 0
420 | 0
421 | 0
422 | 0
423 | 0
424 | 0
425 | 0
426 | 0
427 | 0
428 | 0
429 | 0
430 | 0
431 | 0
432 | 0
433 | 0
434 | 0
435 | 0
436 | 0
437 | 0
438 | 0
439 | 0
440 | 0
441 | 0
442 | 0
443 | 0
444 | 0
445 | 0
446 | 0
447 | 0
448 | 0
449 | 0
450 | 0
451 | 0
452 | 0
453 | 0
454 | 0
455 | 0
456 | 0
457 | 0
458 | 0
459 | 0
460 | 0
461 | 0
462 | 0
463 | 0
464 | 0
465 | 0
466 | 0
467 | 0
468 | 0
469 | 0
470 | 0
471 | 0
472 | 0
473 | 0
474 | 0
475 | 0
476 | 0
477 | 0
478 | 0
479 | 0
480 | 0
481 | 0
482 | 0
483 | 0
484 | 0
485 | 0
486 | 0
487 | 0
488 | 0
489 | 0
490 | 0
491 | 0
492 | 0
493 | 0
494 | 0
495 | 0
496 | 0
497 | 0
498 | 0
499 | 0
500 | 0
501 | 0
502 | 0
503 | 0
504 | 0
505 | 0
506 | 0
507 | 0
508 | 0
509 | 0
510 | 0
511 | 0
512 | 0
513 | 0
514 | 0
515 | 0
516 | 0
517 | 0
518 | 0
519 | 0
520 | 0
521 | 0
522 | 0
523 | 0
524 | 0
525 | 0
526 | 0
527 | 0
528 | 0
529 | 0
530 | 0
531 | 0
532 | 0
533 | 0
534 | 0
535 | 0
536 | 0
537 | 0
538 | 0
539 | 0
540 | 0
541 | 0
542 | 0
543 | 0
544 | 0
545 | 0
546 | 0
547 | 0
548 | 0
549 | 0
550 | 0
551 | 0
552 | 0
553 | 0
554 | 0
555 | 0
556 | 0
557 | 0
558 | 0
559 | 0
560 | 0
561 | 0
562 | 0
563 | 0
564 | 0
565 | 0
566 | 0
567 | 0
568 | 0
569 | 0
570 | 0
571 | 0
572 | 0
573 | 0
574 | 0
575 | 0
576 | 0
577 | 0
578 | 0
579 | 0
580 | 0
581 | 0
582 | 0
583 | 0
584 | 0
585 | 0
586 | 0
587 | 0
588 | 0
589 | 0
590 | 0
591 | 0
592 | 0
593 | 0
594 | 0
595 | 0
596 | 0
597 | 0
598 | 0
599 | 0
600 | 0
601 | 0
602 | 0
603 | 0
604 | 0
605 | 0
606 | 0
607 | 0
608 | 0
609 | 0
610 | 0
611 | 0
612 | 0
613 | 0
614 | 0
615 | 0
616 | 0
617 | 0
618 | 0
619 | 0
620 | 0
621 | 0
622 | 0
623 | 0
624 | 0
625 | 0
626 | 0
627 | 0
628 | 0
629 | 0
630 | 0
631 | 0
632 | 0
633 | 0
634 | 0
635 | 0
636 | 0
637 | 0
638 | 0
639 | 0
640 | 0
641 | 0
642 | 0
643 | 0
644 | 0
645 | 0
646 | 0
647 | 0
648 | 0
649 | 0
650 | 0
651 | 0
652 | 0
653 | 0
654 | 0
655 | 0
656 | 0
657 | 0
658 | 0
659 | 0
660 | 0
661 | 0
662 | 0
663 | 0
664 | 0
665 | 0
666 | 0
667 | 0
668 | 0
669 | 0
670 | 0
671 | 0
672 | 0
673 | 0
674 | 0
675 | 0
676 | 0
677 | 0
678 | 0
679 | 0
680 | 0
681 | 0
682 | 0
683 | 0
684 | 0
685 | 0
686 | 0
687 | 0
688 | 0
689 | 0
690 | 0
691 | 0
692 | 0
693 | 0
694 | 0
695 | 0
696 | 0
697 | 0
698 | 0
699 | 0
700 | 0
701 | 0
702 | 0
703 | 0
704 | 0
705 | 0
706 | 0
707 | 0
708 | 0
709 | 0
710 | 0
711 | 0
712 | 0
713 | 0
714 | 0
715 | 0
716 | 0
717 | 0
718 | 0
719 | 0
720 | 0
721 | 0
722 | 0
723 | 0
724 | 0
725 | 0
726 | 0
727 | 0
728 | 0
729 | 0
730 | 0
731 | 0
732 | 0
733 | 0
734 | 0
735 | 0
736 | 0
737 | 0
738 | 0
739 | 0
740 | 0
741 | 0
742 | 0
743 | 0
744 | 0
745 | 0
746 | 0
747 | 0
748 | 0
749 | 0
750 | 0
751 | 0
752 | 0
753 | 0
754 | 0
755 | 0
756 | 0
757 | 0
758 | 0
759 | 0
760 | 0
761 | 0
762 | 0
763 | 0
764 | 0
765 | 0
766 | 0
767 | 0
768 | 0
769 | 0
770 | 0
771 | 0
772 | 0
773 | 0
774 | 0
775 | 0
776 | 0
777 | 0
778 | 0
779 | 0
780 | 0
781 | 0
782 | 0
783 | 0
784 | 0
785 | 0
786 | 0
787 | 0
788 | 0
789 | 0
790 | 0
791 | 0
792 | 0
793 | 0
794 | 0
795 | 0
796 | 0
797 | 0
798 | 0
799 | 0
800 | 0
801 | 0
802 | 0
803 | 0
804 | 0
805 | 0
806 | 0
807 | 0
808 | 0
809 | 0
810 | 0
811 | 0
812 | 0
813 | 0
814 | 0
815 | 0
816 | 0
817 | 0
818 | 0
819 | 0
820 | 0
821 | 0
822 | 0
823 | 0
824 | 0
825 | 0
826 | 0
827 | 0
828 | 0
829 | 0
830 | 0
831 | 0
832 | 0
833 | 0
834 | 0
835 | 0
836 | 0
837 | 0
838 | 0
839 | 0
840 | 0
841 | 0
842 | 0
843 | 0
844 | 0
845 | 0
846 | 0
847 | 0
848 | 0
849 | 0
850 | 0
851 | 0
852 | 0
853 | 0
854 | 0
855 | 0
856 | 0
857 | 0
858 | 0
859 | 0
860 | 0
861 | 0
862 | 0
863 | 0
864 | 0
865 | 0
866 | 0
867 | 0
868 | 0
869 | 0
870 | 0
871 | 0
872 | 0
873 | 0
874 | 0
875 | 0
876 | 0
877 | 0
878 | 0
879 | 0
880 | 0
881 | 0
882 | 0
883 | 0
884 | 0
885 | 0
886 | 0
887 | 0
888 | 0
889 | 0
890 | 0
891 | 0
892 | 0
893 | 0
894 | 0
895 | 0
896 | 0
897 | 0
898 | 0
899 | 0
900 | 0
901 | 0
902 | 0
903 | 0
904 | 0
905 | 0
906 | 0
907 | 0
908 | 0
909 | 0
910 | 0
911 | 0
912 | 0
913 | 0
914 | 0
915 | 0
916 | 0
917 | 0
918 | 0
919 | 0
920 | 0
921 | 0
922 | 0
923 | 0
924 | 0
925 | 0
926 | 0
927 | 0
928 | 0
929 | 0
930 | 0
931 | 0
932 | 0
933 | 0
934 | 0
935 | 0
936 | 0
937 | 0
938 | 0
939 | 0
940 | 0
941 | 0
942 | 0
943 | 0
944 | 0
945 | 0
946 | 0
947 | 0
948 | 0
949 | 0
950 | 0
951 | 0
952 | 0
953 | 0
954 | 0
955 | 0
956 | 0
957 | 0
958 | 0
959 | 0
960 | 0
961 | 0
962 | 0
963 | 0
964 | 0
965 | 0
966 | 0
967 | 0
968 | 0
969 | 0
970 | 0
971 | 0
972 | 0
973 | 0
974 | 0
975 | 0
976 | 0
977 | 0
978 | 0
979 | 0
980 | 0
981 | 0
982 | 0
983 | 0
984 | 0
985 | 0
986 | 0
987 | 0
988 | 0
989 | 0
990 | 0
991 | 0
992 | 0
993 | 0
994 | 0
995 | 0
996 | 0
997 | 0
998 | 0
999 | 0
1000 | 0
1001 | 0
1002 | 0
1003 | 0
1004 | 0
1005 | 0
1006 | 0
1007 | 0
1008 | 0
1009 | 0
1010 | 0
1011 | 0
1012 | 0
1013 | 0
1014 | 0
1015 | 0
1016 | 0
1017 | 0
1018 | 0
1019 | 0
1020 | 0
1021 | 0
1022 | 0
1023 | 0
1024 | 0
1025 | 0
1026 | 0
1027 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/9/9BitMap&&Fat.txt:
--------------------------------------------------------------------------------
1 | 00000000000000000000000000000000
2 | 00000000000000000000000000000000
3 | 00000000000000000000000000000000
4 | 00000000000000000000000000000000
5 | 00000000000000000000000000000000
6 | 00000000000000000000000000000000
7 | 00000000000000000000000000000000
8 | 00000000000000000000000000000000
9 | 00000000000000000000000000000000
10 | 00000000000000000000000000000000
11 | 00000000000000000000000000000000
12 | 00000000000000000000000000000000
13 | 00000000000000000000000000000000
14 | 00000000000000000000000000000000
15 | 00000000000000000000000000000000
16 | 00000000000000000000000000000000
17 | 00000000000000000000000000000000
18 | 00000000000000000000000000000000
19 | 00000000000000000000000000000000
20 | 00000000000000000000000000000000
21 | 00000000000000000000000000000000
22 | 00000000000000000000000000000000
23 | 00000000000000000000000000000000
24 | 00000000000000000000000000000000
25 | 00000000000000000000000000000000
26 | 00000000000000000000000000000000
27 | 00000000000000000000000000000000
28 | 00000000000000000000000000000000
29 | 00000000000000000000000000000000
30 | 00000000000000000000000000000000
31 | 00000000000000000000000000000000
32 | 00000000000000000000000000000000
33 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/9/recover.txt:
--------------------------------------------------------------------------------
1 | 0.0
2 | 0
3 | 0
4 | 0
5 | 0
6 | 0
7 | 0
8 | 0
9 | 0
10 | 0
11 | 0
12 | 0
13 | 0
14 | 0
15 | 0
16 | 0
17 | 0
18 | 0
19 | 0
20 | 0
21 | 0
22 | 0
23 | 0
24 | 0
25 | 0
26 | 0
27 | 0
28 | 0
29 | 0
30 | 0
31 | 0
32 | 0
33 | 0
34 | 0
35 | 0
36 | 0
37 | 0
38 | 0
39 | 0
40 | 0
41 | 0
42 | 0
43 | 0
44 | 0
45 | 0
46 | 0
47 | 0
48 | 0
49 | 0
50 | 0
51 | 0
52 | 0
53 | 0
54 | 0
55 | 0
56 | 0
57 | 0
58 | 0
59 | 0
60 | 0
61 | 0
62 | 0
63 | 0
64 | 0
65 | 0
66 | 0
67 | 0
68 | 0
69 | 0
70 | 0
71 | 0
72 | 0
73 | 0
74 | 0
75 | 0
76 | 0
77 | 0
78 | 0
79 | 0
80 | 0
81 | 0
82 | 0
83 | 0
84 | 0
85 | 0
86 | 0
87 | 0
88 | 0
89 | 0
90 | 0
91 | 0
92 | 0
93 | 0
94 | 0
95 | 0
96 | 0
97 | 0
98 | 0
99 | 0
100 | 0
101 | 0
102 | 0
103 | 0
104 | 0
105 | 0
106 | 0
107 | 0
108 | 0
109 | 0
110 | 0
111 | 0
112 | 0
113 | 0
114 | 0
115 | 0
116 | 0
117 | 0
118 | 0
119 | 0
120 | 0
121 | 0
122 | 0
123 | 0
124 | 0
125 | 0
126 | 0
127 | 0
128 | 0
129 | 0
130 | 0
131 | 0
132 | 0
133 | 0
134 | 0
135 | 0
136 | 0
137 | 0
138 | 0
139 | 0
140 | 0
141 | 0
142 | 0
143 | 0
144 | 0
145 | 0
146 | 0
147 | 0
148 | 0
149 | 0
150 | 0
151 | 0
152 | 0
153 | 0
154 | 0
155 | 0
156 | 0
157 | 0
158 | 0
159 | 0
160 | 0
161 | 0
162 | 0
163 | 0
164 | 0
165 | 0
166 | 0
167 | 0
168 | 0
169 | 0
170 | 0
171 | 0
172 | 0
173 | 0
174 | 0
175 | 0
176 | 0
177 | 0
178 | 0
179 | 0
180 | 0
181 | 0
182 | 0
183 | 0
184 | 0
185 | 0
186 | 0
187 | 0
188 | 0
189 | 0
190 | 0
191 | 0
192 | 0
193 | 0
194 | 0
195 | 0
196 | 0
197 | 0
198 | 0
199 | 0
200 | 0
201 | 0
202 | 0
203 | 0
204 | 0
205 | 0
206 | 0
207 | 0
208 | 0
209 | 0
210 | 0
211 | 0
212 | 0
213 | 0
214 | 0
215 | 0
216 | 0
217 | 0
218 | 0
219 | 0
220 | 0
221 | 0
222 | 0
223 | 0
224 | 0
225 | 0
226 | 0
227 | 0
228 | 0
229 | 0
230 | 0
231 | 0
232 | 0
233 | 0
234 | 0
235 | 0
236 | 0
237 | 0
238 | 0
239 | 0
240 | 0
241 | 0
242 | 0
243 | 0
244 | 0
245 | 0
246 | 0
247 | 0
248 | 0
249 | 0
250 | 0
251 | 0
252 | 0
253 | 0
254 | 0
255 | 0
256 | 0
257 | 0
258 | 0
259 | 0
260 | 0
261 | 0
262 | 0
263 | 0
264 | 0
265 | 0
266 | 0
267 | 0
268 | 0
269 | 0
270 | 0
271 | 0
272 | 0
273 | 0
274 | 0
275 | 0
276 | 0
277 | 0
278 | 0
279 | 0
280 | 0
281 | 0
282 | 0
283 | 0
284 | 0
285 | 0
286 | 0
287 | 0
288 | 0
289 | 0
290 | 0
291 | 0
292 | 0
293 | 0
294 | 0
295 | 0
296 | 0
297 | 0
298 | 0
299 | 0
300 | 0
301 | 0
302 | 0
303 | 0
304 | 0
305 | 0
306 | 0
307 | 0
308 | 0
309 | 0
310 | 0
311 | 0
312 | 0
313 | 0
314 | 0
315 | 0
316 | 0
317 | 0
318 | 0
319 | 0
320 | 0
321 | 0
322 | 0
323 | 0
324 | 0
325 | 0
326 | 0
327 | 0
328 | 0
329 | 0
330 | 0
331 | 0
332 | 0
333 | 0
334 | 0
335 | 0
336 | 0
337 | 0
338 | 0
339 | 0
340 | 0
341 | 0
342 | 0
343 | 0
344 | 0
345 | 0
346 | 0
347 | 0
348 | 0
349 | 0
350 | 0
351 | 0
352 | 0
353 | 0
354 | 0
355 | 0
356 | 0
357 | 0
358 | 0
359 | 0
360 | 0
361 | 0
362 | 0
363 | 0
364 | 0
365 | 0
366 | 0
367 | 0
368 | 0
369 | 0
370 | 0
371 | 0
372 | 0
373 | 0
374 | 0
375 | 0
376 | 0
377 | 0
378 | 0
379 | 0
380 | 0
381 | 0
382 | 0
383 | 0
384 | 0
385 | 0
386 | 0
387 | 0
388 | 0
389 | 0
390 | 0
391 | 0
392 | 0
393 | 0
394 | 0
395 | 0
396 | 0
397 | 0
398 | 0
399 | 0
400 | 0
401 | 0
402 | 0
403 | 0
404 | 0
405 | 0
406 | 0
407 | 0
408 | 0
409 | 0
410 | 0
411 | 0
412 | 0
413 | 0
414 | 0
415 | 0
416 | 0
417 | 0
418 | 0
419 | 0
420 | 0
421 | 0
422 | 0
423 | 0
424 | 0
425 | 0
426 | 0
427 | 0
428 | 0
429 | 0
430 | 0
431 | 0
432 | 0
433 | 0
434 | 0
435 | 0
436 | 0
437 | 0
438 | 0
439 | 0
440 | 0
441 | 0
442 | 0
443 | 0
444 | 0
445 | 0
446 | 0
447 | 0
448 | 0
449 | 0
450 | 0
451 | 0
452 | 0
453 | 0
454 | 0
455 | 0
456 | 0
457 | 0
458 | 0
459 | 0
460 | 0
461 | 0
462 | 0
463 | 0
464 | 0
465 | 0
466 | 0
467 | 0
468 | 0
469 | 0
470 | 0
471 | 0
472 | 0
473 | 0
474 | 0
475 | 0
476 | 0
477 | 0
478 | 0
479 | 0
480 | 0
481 | 0
482 | 0
483 | 0
484 | 0
485 | 0
486 | 0
487 | 0
488 | 0
489 | 0
490 | 0
491 | 0
492 | 0
493 | 0
494 | 0
495 | 0
496 | 0
497 | 0
498 | 0
499 | 0
500 | 0
501 | 0
502 | 0
503 | 0
504 | 0
505 | 0
506 | 0
507 | 0
508 | 0
509 | 0
510 | 0
511 | 0
512 | 0
513 | 0
514 | 0
515 | 0
516 | 0
517 | 0
518 | 0
519 | 0
520 | 0
521 | 0
522 | 0
523 | 0
524 | 0
525 | 0
526 | 0
527 | 0
528 | 0
529 | 0
530 | 0
531 | 0
532 | 0
533 | 0
534 | 0
535 | 0
536 | 0
537 | 0
538 | 0
539 | 0
540 | 0
541 | 0
542 | 0
543 | 0
544 | 0
545 | 0
546 | 0
547 | 0
548 | 0
549 | 0
550 | 0
551 | 0
552 | 0
553 | 0
554 | 0
555 | 0
556 | 0
557 | 0
558 | 0
559 | 0
560 | 0
561 | 0
562 | 0
563 | 0
564 | 0
565 | 0
566 | 0
567 | 0
568 | 0
569 | 0
570 | 0
571 | 0
572 | 0
573 | 0
574 | 0
575 | 0
576 | 0
577 | 0
578 | 0
579 | 0
580 | 0
581 | 0
582 | 0
583 | 0
584 | 0
585 | 0
586 | 0
587 | 0
588 | 0
589 | 0
590 | 0
591 | 0
592 | 0
593 | 0
594 | 0
595 | 0
596 | 0
597 | 0
598 | 0
599 | 0
600 | 0
601 | 0
602 | 0
603 | 0
604 | 0
605 | 0
606 | 0
607 | 0
608 | 0
609 | 0
610 | 0
611 | 0
612 | 0
613 | 0
614 | 0
615 | 0
616 | 0
617 | 0
618 | 0
619 | 0
620 | 0
621 | 0
622 | 0
623 | 0
624 | 0
625 | 0
626 | 0
627 | 0
628 | 0
629 | 0
630 | 0
631 | 0
632 | 0
633 | 0
634 | 0
635 | 0
636 | 0
637 | 0
638 | 0
639 | 0
640 | 0
641 | 0
642 | 0
643 | 0
644 | 0
645 | 0
646 | 0
647 | 0
648 | 0
649 | 0
650 | 0
651 | 0
652 | 0
653 | 0
654 | 0
655 | 0
656 | 0
657 | 0
658 | 0
659 | 0
660 | 0
661 | 0
662 | 0
663 | 0
664 | 0
665 | 0
666 | 0
667 | 0
668 | 0
669 | 0
670 | 0
671 | 0
672 | 0
673 | 0
674 | 0
675 | 0
676 | 0
677 | 0
678 | 0
679 | 0
680 | 0
681 | 0
682 | 0
683 | 0
684 | 0
685 | 0
686 | 0
687 | 0
688 | 0
689 | 0
690 | 0
691 | 0
692 | 0
693 | 0
694 | 0
695 | 0
696 | 0
697 | 0
698 | 0
699 | 0
700 | 0
701 | 0
702 | 0
703 | 0
704 | 0
705 | 0
706 | 0
707 | 0
708 | 0
709 | 0
710 | 0
711 | 0
712 | 0
713 | 0
714 | 0
715 | 0
716 | 0
717 | 0
718 | 0
719 | 0
720 | 0
721 | 0
722 | 0
723 | 0
724 | 0
725 | 0
726 | 0
727 | 0
728 | 0
729 | 0
730 | 0
731 | 0
732 | 0
733 | 0
734 | 0
735 | 0
736 | 0
737 | 0
738 | 0
739 | 0
740 | 0
741 | 0
742 | 0
743 | 0
744 | 0
745 | 0
746 | 0
747 | 0
748 | 0
749 | 0
750 | 0
751 | 0
752 | 0
753 | 0
754 | 0
755 | 0
756 | 0
757 | 0
758 | 0
759 | 0
760 | 0
761 | 0
762 | 0
763 | 0
764 | 0
765 | 0
766 | 0
767 | 0
768 | 0
769 | 0
770 | 0
771 | 0
772 | 0
773 | 0
774 | 0
775 | 0
776 | 0
777 | 0
778 | 0
779 | 0
780 | 0
781 | 0
782 | 0
783 | 0
784 | 0
785 | 0
786 | 0
787 | 0
788 | 0
789 | 0
790 | 0
791 | 0
792 | 0
793 | 0
794 | 0
795 | 0
796 | 0
797 | 0
798 | 0
799 | 0
800 | 0
801 | 0
802 | 0
803 | 0
804 | 0
805 | 0
806 | 0
807 | 0
808 | 0
809 | 0
810 | 0
811 | 0
812 | 0
813 | 0
814 | 0
815 | 0
816 | 0
817 | 0
818 | 0
819 | 0
820 | 0
821 | 0
822 | 0
823 | 0
824 | 0
825 | 0
826 | 0
827 | 0
828 | 0
829 | 0
830 | 0
831 | 0
832 | 0
833 | 0
834 | 0
835 | 0
836 | 0
837 | 0
838 | 0
839 | 0
840 | 0
841 | 0
842 | 0
843 | 0
844 | 0
845 | 0
846 | 0
847 | 0
848 | 0
849 | 0
850 | 0
851 | 0
852 | 0
853 | 0
854 | 0
855 | 0
856 | 0
857 | 0
858 | 0
859 | 0
860 | 0
861 | 0
862 | 0
863 | 0
864 | 0
865 | 0
866 | 0
867 | 0
868 | 0
869 | 0
870 | 0
871 | 0
872 | 0
873 | 0
874 | 0
875 | 0
876 | 0
877 | 0
878 | 0
879 | 0
880 | 0
881 | 0
882 | 0
883 | 0
884 | 0
885 | 0
886 | 0
887 | 0
888 | 0
889 | 0
890 | 0
891 | 0
892 | 0
893 | 0
894 | 0
895 | 0
896 | 0
897 | 0
898 | 0
899 | 0
900 | 0
901 | 0
902 | 0
903 | 0
904 | 0
905 | 0
906 | 0
907 | 0
908 | 0
909 | 0
910 | 0
911 | 0
912 | 0
913 | 0
914 | 0
915 | 0
916 | 0
917 | 0
918 | 0
919 | 0
920 | 0
921 | 0
922 | 0
923 | 0
924 | 0
925 | 0
926 | 0
927 | 0
928 | 0
929 | 0
930 | 0
931 | 0
932 | 0
933 | 0
934 | 0
935 | 0
936 | 0
937 | 0
938 | 0
939 | 0
940 | 0
941 | 0
942 | 0
943 | 0
944 | 0
945 | 0
946 | 0
947 | 0
948 | 0
949 | 0
950 | 0
951 | 0
952 | 0
953 | 0
954 | 0
955 | 0
956 | 0
957 | 0
958 | 0
959 | 0
960 | 0
961 | 0
962 | 0
963 | 0
964 | 0
965 | 0
966 | 0
967 | 0
968 | 0
969 | 0
970 | 0
971 | 0
972 | 0
973 | 0
974 | 0
975 | 0
976 | 0
977 | 0
978 | 0
979 | 0
980 | 0
981 | 0
982 | 0
983 | 0
984 | 0
985 | 0
986 | 0
987 | 0
988 | 0
989 | 0
990 | 0
991 | 0
992 | 0
993 | 0
994 | 0
995 | 0
996 | 0
997 | 0
998 | 0
999 | 0
1000 | 0
1001 | 0
1002 | 0
1003 | 0
1004 | 0
1005 | 0
1006 | 0
1007 | 0
1008 | 0
1009 | 0
1010 | 0
1011 | 0
1012 | 0
1013 | 0
1014 | 0
1015 | 0
1016 | 0
1017 | 0
1018 | 0
1019 | 0
1020 | 0
1021 | 0
1022 | 0
1023 | 0
1024 | 0
1025 | 0
1026 | 0
1027 |
--------------------------------------------------------------------------------
/文件管理-文件系统/myFileSystem/ReadMe.txt:
--------------------------------------------------------------------------------
1 | Hello, this my file system!!!
2 | Space: 10 * 1024K = 10M
3 | Free-Space Management:bitmap
4 | Store-Space Management:FAT
5 |
--------------------------------------------------------------------------------
/文件管理-文件系统/src/Java/Folder.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/文件管理-文件系统/src/Java/Folder.java
--------------------------------------------------------------------------------
/文件管理-文件系统/src/Java/MyFileSystem.java:
--------------------------------------------------------------------------------
1 | package Java;
2 |
3 | import java.awt.BorderLayout;
4 | import java.awt.Color;
5 | import java.awt.Desktop;
6 | import java.awt.Dimension;
7 | import java.awt.FlowLayout;
8 | import java.awt.Font;
9 | import java.awt.Image;
10 | import java.awt.event.ActionEvent;
11 | import java.awt.event.ActionListener;
12 | import java.awt.event.MouseAdapter;
13 | import java.awt.event.MouseEvent;
14 | import java.io.BufferedReader;
15 | import java.io.File;
16 | import java.io.FileReader;
17 | import java.io.FileWriter;
18 | import java.io.IOException;
19 | import java.util.ArrayList;
20 |
21 | import javax.swing.Icon;
22 | import javax.swing.ImageIcon;
23 | import javax.swing.JButton;
24 | import javax.swing.JFrame;
25 | import javax.swing.JLabel;
26 | import javax.swing.JMenuItem;
27 | import javax.swing.JOptionPane;
28 | import javax.swing.JPanel;
29 | import javax.swing.JPopupMenu;
30 | import javax.swing.JScrollPane;
31 | import javax.swing.JTable;
32 | import javax.swing.JTextField;
33 | import javax.swing.JTree;
34 | import javax.swing.UIManager;
35 | import javax.swing.event.TreeExpansionEvent;
36 | import javax.swing.event.TreeSelectionEvent;
37 | import javax.swing.event.TreeSelectionListener;
38 | import javax.swing.event.TreeWillExpandListener;
39 | import javax.swing.tree.DefaultMutableTreeNode;
40 | import javax.swing.tree.DefaultTreeModel;
41 | import javax.swing.tree.ExpandVetoException;
42 | import javax.swing.tree.MutableTreeNode;
43 | import javax.swing.tree.TreePath;
44 | import javax.swing.tree.TreeSelectionModel;
45 |
46 | public class MyFileSystem extends JFrame {
47 | private JTree tree;
48 | private JScrollPane treePane;
49 | private JScrollPane tablePane;
50 | private tableModel model = new tableModel();
51 | private JTable fileTable;
52 |
53 | private File rootFile;
54 | private File readMe;
55 |
56 | // 系统自带的文件夹
57 | private Folder folder1;
58 | private Folder folder2;
59 | private Folder folder3;
60 | private Folder folder4;
61 | private Folder folder5;
62 | private Folder folder6;
63 | private Folder folder7;
64 | private Folder folder8;
65 | private Folder folder9;
66 | private ArrayList folders = new ArrayList();
67 |
68 | // 信息条
69 | private JLabel blockName = new JLabel("文件夹名称:");
70 | private JLabel nameField = new JLabel();
71 | private JLabel haveUsed = new JLabel("已使用空间:");
72 | private JLabel usedField = new JLabel();
73 | private JLabel freeYet = new JLabel("剩余空间:");
74 | private JLabel freeField = new JLabel();
75 | private JLabel fileNum = new JLabel("文件数:");
76 | private JLabel fileNumField = new JLabel();
77 |
78 | private JTextField searchLine = new JTextField();
79 |
80 | // 删除文件夹
81 | public static void deleteDirectory(String filePath) {
82 | File file = new File(filePath);
83 | if (!file.exists()) {
84 | return;
85 | }
86 | if (file.isFile()) {
87 | file.delete();
88 | } else if (file.isDirectory()) {
89 | File[] files = file.listFiles();
90 | for (File myfile : files) {
91 | deleteDirectory(filePath + File.separator + myfile.getName());
92 | }
93 | file.delete();
94 | }
95 | }
96 |
97 | // 获取空闲空间
98 | public double getSpace(File file) {
99 | double space = 0;
100 | try {
101 | BufferedReader reader = new BufferedReader(new FileReader(file));
102 | reader.readLine();
103 | space = Double.parseDouble(reader.readLine());
104 | if (space > 1024) {
105 | space = 0.0;
106 | }
107 | reader.close();
108 | } catch (Exception e) {
109 | }
110 | ;
111 | return space;
112 | }
113 |
114 | // 更新文件夹信息
115 | public void upDateBlock(Folder currentBlock) {
116 | fileNumField.setText(String.valueOf(currentBlock.getFileNum()));
117 | usedField.setText(String.valueOf(currentBlock.getSpace()) + " KB");
118 | freeField.setText(String.valueOf(1024 - currentBlock.getSpace()) + "KB");
119 | }
120 |
121 | // 查找文件
122 | public boolean searchFile(String fileName, File parent) {
123 | File[] files = parent.listFiles();
124 | for (File myFile : files) {
125 | if (myFile.getName().equals(fileName)) {
126 | try {
127 | if (Desktop.isDesktopSupported()) {
128 | Desktop desktop = Desktop.getDesktop();
129 | desktop.open(myFile);
130 | return true;
131 | }
132 | } catch (IOException e1) {
133 | JOptionPane.showMessageDialog(null, myFile.getPath() + " 抱歉,出现了一些错误!", "Fail to open",
134 | JOptionPane.ERROR_MESSAGE);
135 | return true;
136 | }
137 | }
138 | if (myFile.isDirectory() && myFile.canRead()) {
139 | if (searchFile(fileName, myFile)) {
140 | return true;
141 | }
142 | }
143 | }
144 | return false;
145 | }
146 |
147 | // 用户交互界面
148 | public MyFileSystem() throws IOException {
149 | setTitle("OS-myFileSystem");
150 | setLayout(new BorderLayout());
151 | setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
152 | setIconImage(new ImageIcon(this.getClass().getResource("/image/folder.png")).getImage());
153 | getContentPane().setBackground(Color.WHITE);
154 |
155 | ImageIcon folderImg = new ImageIcon(this.getClass().getResource("/image/folder.png"));
156 | folderImg.setImage(folderImg.getImage().getScaledInstance(30, 23, Image.SCALE_DEFAULT));
157 |
158 | ImageIcon docImg = new ImageIcon(this.getClass().getResource("/image/document.png"));
159 | docImg.setImage(docImg.getImage().getScaledInstance(24, 30, Image.SCALE_DEFAULT));
160 |
161 | Icon icon1 = folderImg;
162 | Icon icon2 = docImg;
163 | UIManager.put("Tree.openIcon", icon1);
164 | UIManager.put("Tree.closedIcon", icon1);
165 | UIManager.put("Tree.leafIcon", icon2);
166 |
167 | // 创建工作区——如果已有的话就直接用了
168 | rootFile = new File("myFileSystem");
169 | readMe = new File("myFileSystem" + File.separator + "ReadMe.txt");
170 |
171 | boolean flag = true;
172 |
173 | // 文件树初始化
174 | final DefaultMutableTreeNode root = new DefaultMutableTreeNode(new myFiles(rootFile, 0, 10240));
175 | if (!rootFile.exists()) {
176 | flag = false;
177 | try {
178 | rootFile.mkdir();
179 | readMe.createNewFile();
180 | } catch (Exception e) {
181 | JOptionPane.showMessageDialog(null, "空闲空间不足!", "Error", JOptionPane.ERROR_MESSAGE);
182 | System.exit(0);
183 | }
184 | FileWriter writer = new FileWriter(readMe.getPath());
185 | writer.write("Hello, this my file system!!!\n");
186 | writer.write("Space: 10 * 1024K = 10M\n");
187 | writer.write("Free-Space Management:bitmap\n");
188 | writer.write("Store-Space Management:FAT\n");
189 | writer.flush();
190 | writer.close();
191 | }
192 |
193 | folder1 = new Folder(1, new File(rootFile.getPath() + File.separator + "1"), flag);
194 | folders.add(folder1);
195 | folder2 = new Folder(2, new File(rootFile.getPath() + File.separator + "2"), flag);
196 | folders.add(folder2);
197 | folder3 = new Folder(3, new File(rootFile.getPath() + File.separator + "3"), flag);
198 | folders.add(folder3);
199 | folder4 = new Folder(4, new File(rootFile.getPath() + File.separator + "4"), flag);
200 | folders.add(folder4);
201 | folder5 = new Folder(5, new File(rootFile.getPath() + File.separator + "5"), flag);
202 | folders.add(folder5);
203 | folder6 = new Folder(6, new File(rootFile.getPath() + File.separator + "6"), flag);
204 | folders.add(folder6);
205 | folder7 = new Folder(7, new File(rootFile.getPath() + File.separator + "7"), flag);
206 | folders.add(folder7);
207 | folder8 = new Folder(8, new File(rootFile.getPath() + File.separator + "8"), flag);
208 | folders.add(folder8);
209 | folder9 = new Folder(9, new File(rootFile.getPath() + File.separator + "9"), flag);
210 | folders.add(folder9);
211 |
212 | root.add(new DefaultMutableTreeNode(new myFiles(folder1.getBlockFile(), 1, 1024.0)));
213 | model.addRow(new myFiles(folder1.getBlockFile(), 1, 1024.0));
214 | ((DefaultMutableTreeNode) root.getChildAt(0)).add(new DefaultMutableTreeNode("temp"));
215 |
216 | root.add(new DefaultMutableTreeNode(new myFiles(folder2.getBlockFile(), 2, 1024.0)));
217 | model.addRow(new myFiles(folder2.getBlockFile(), 2, 1024.0));
218 | ((DefaultMutableTreeNode) root.getChildAt(1)).add(new DefaultMutableTreeNode("temp"));
219 |
220 | root.add(new DefaultMutableTreeNode(new myFiles(folder3.getBlockFile(), 3, 1024.0)));
221 | model.addRow(new myFiles(folder3.getBlockFile(), 3, 1024.0));
222 | ((DefaultMutableTreeNode) root.getChildAt(2)).add(new DefaultMutableTreeNode("temp"));
223 |
224 | root.add(new DefaultMutableTreeNode(new myFiles(folder4.getBlockFile(), 4, 1024.0)));
225 | model.addRow(new myFiles(folder4.getBlockFile(), 4, 1024.0));
226 | ((DefaultMutableTreeNode) root.getChildAt(3)).add(new DefaultMutableTreeNode("temp"));
227 |
228 | root.add(new DefaultMutableTreeNode(new myFiles(folder5.getBlockFile(), 5, 1024.0)));
229 | model.addRow(new myFiles(folder5.getBlockFile(), 5, 1024.0));
230 | ((DefaultMutableTreeNode) root.getChildAt(4)).add(new DefaultMutableTreeNode("temp"));
231 |
232 | root.add(new DefaultMutableTreeNode(new myFiles(folder6.getBlockFile(), 6, 1024.0)));
233 | model.addRow(new myFiles(folder6.getBlockFile(), 6, 1024.0));
234 | ((DefaultMutableTreeNode) root.getChildAt(5)).add(new DefaultMutableTreeNode("temp"));
235 |
236 | root.add(new DefaultMutableTreeNode(new myFiles(folder7.getBlockFile(), 7, 1024.0)));
237 | model.addRow(new myFiles(folder7.getBlockFile(), 7, 1024.0));
238 | ((DefaultMutableTreeNode) root.getChildAt(6)).add(new DefaultMutableTreeNode("temp"));
239 |
240 | root.add(new DefaultMutableTreeNode(new myFiles(folder8.getBlockFile(), 8, 1024.0)));
241 | model.addRow(new myFiles(folder8.getBlockFile(), 8, 1024.0));
242 | ((DefaultMutableTreeNode) root.getChildAt(7)).add(new DefaultMutableTreeNode("temp"));
243 |
244 | root.add(new DefaultMutableTreeNode(new myFiles(folder9.getBlockFile(), 9, 1024.0)));
245 | model.addRow(new myFiles(folder9.getBlockFile(), 9, 1024.0));
246 | ((DefaultMutableTreeNode) root.getChildAt(8)).add(new DefaultMutableTreeNode("temp"));
247 |
248 | root.add(new DefaultMutableTreeNode(new myFiles(readMe, 0, 0)));
249 | model.addRow(new myFiles(readMe, 0, 0));
250 |
251 | // 文件表初始化
252 | fileTable = new JTable(model);
253 | fileTable.getTableHeader().setFont(new Font(Font.DIALOG, Font.CENTER_BASELINE, 24));
254 | fileTable.setSelectionBackground(Color.ORANGE);
255 | fileTable.setShowHorizontalLines(true);
256 | fileTable.setShowVerticalLines(false);
257 | fileTable.getTableHeader().setFont(new Font("宋体", Font.CENTER_BASELINE, 16));
258 | fileTable.getTableHeader().setForeground(Color.WHITE);
259 | fileTable.getTableHeader().setBackground(new Color(79, 155, 250));
260 | fileTable.setRowHeight(30);
261 | fileTable.setBackground(new Color(165, 202, 241));
262 | fileTable.setForeground(new Color(69, 115, 160));
263 | fileTable.setSelectionBackground(new Color(101, 163, 240));
264 | fileTable.setSelectionForeground(Color.WHITE);
265 | fileTable.setFont(new Font(Font.DIALOG, Font.CENTER_BASELINE, 14));
266 | fileTable.updateUI();
267 |
268 | fileTable.updateUI();
269 |
270 | final DefaultTreeModel treeModel = new DefaultTreeModel(root);
271 | tree = new JTree(treeModel);
272 | tree.setEditable(false);
273 | tree.putClientProperty("Jtree.lineStyle", "Horizontal");
274 | tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
275 | tree.setShowsRootHandles(true);
276 | tree.addTreeSelectionListener(new TreeSelectionListener() {
277 | @Override
278 | public void valueChanged(TreeSelectionEvent e) {
279 | DefaultMutableTreeNode parent = null;
280 | TreePath parentPath = e.getPath();
281 | if (parentPath == null) {
282 | parent = root;
283 | } else {
284 | parent = (DefaultMutableTreeNode) (parentPath.getLastPathComponent());
285 | }
286 | int blokName = ((myFiles) parent.getUserObject()).getBlockName();
287 | Folder currentBlock = folders.get(blokName - 1);
288 | if (parentPath == null) {
289 | parent = root;
290 | } else {
291 | parent = (DefaultMutableTreeNode) (parentPath.getLastPathComponent());
292 | }
293 |
294 | nameField.setText(String.valueOf(blokName));
295 | upDateBlock(currentBlock);
296 |
297 | model.removeRows(0, model.getRowCount());
298 | File rootFile = new File(((myFiles) parent.getUserObject()).getFilePath());
299 | if (parent.getChildCount() > 0) {
300 | File[] childFiles = rootFile.listFiles();
301 |
302 | for (File file : childFiles) {
303 | model.addRow(new myFiles(file, blokName, getSpace(file)));
304 | }
305 | } else {
306 | model.addRow(new myFiles(rootFile, blokName, getSpace(rootFile)));
307 | }
308 | fileTable.updateUI();
309 |
310 | }
311 | });
312 | tree.addTreeWillExpandListener(new TreeWillExpandListener() {
313 | @Override
314 | public void treeWillExpand(TreeExpansionEvent event) throws ExpandVetoException {
315 | DefaultMutableTreeNode parent = null;
316 | TreePath parentPath = event.getPath();
317 | if (parentPath == null) {
318 | parent = root;
319 | } else {
320 | parent = (DefaultMutableTreeNode) (parentPath.getLastPathComponent());
321 | }
322 |
323 | int blokName = ((myFiles) parent.getUserObject()).getBlockName();
324 |
325 | File rootFile = new File(((myFiles) parent.getUserObject()).getFilePath());
326 | File[] childFiles = rootFile.listFiles();
327 |
328 | model.removeRows(0, model.getRowCount());
329 | for (File myFile : childFiles) {
330 | DefaultMutableTreeNode node = null;
331 | node = new DefaultMutableTreeNode(new myFiles(myFile, blokName, getSpace(myFile)));
332 | if (myFile.isDirectory() && myFile.canRead()) {
333 | node.add(new DefaultMutableTreeNode("temp"));
334 | }
335 |
336 | treeModel.insertNodeInto(node, parent, parent.getChildCount());
337 | model.addRow(new myFiles(myFile, blokName, getSpace(myFile)));
338 | }
339 | if (parent.getChildAt(0).toString().equals("temp") && parent.getChildCount() != 1)
340 | treeModel.removeNodeFromParent((MutableTreeNode) parent.getChildAt(0));
341 | fileTable.updateUI();
342 | }
343 |
344 | @Override
345 | public void treeWillCollapse(TreeExpansionEvent event) throws ExpandVetoException {
346 | DefaultMutableTreeNode parent = null;
347 | TreePath parentPath = event.getPath();
348 | if (parentPath == null) {
349 | parent = root;
350 | } else {
351 | parent = (DefaultMutableTreeNode) (parentPath.getLastPathComponent());
352 | }
353 | if (parent.getChildCount() > 0) {
354 | int count = parent.getChildCount();
355 | for (int i = count - 1; i >= 0; i--) {
356 | treeModel.removeNodeFromParent((MutableTreeNode) parent.getChildAt(i));
357 | }
358 | treeModel.insertNodeInto(new DefaultMutableTreeNode("temp"), parent, parent.getChildCount());
359 | }
360 | model.removeRows(0, model.getRowCount());
361 | fileTable.updateUI();
362 | }
363 | });
364 | treePane = new JScrollPane(tree);
365 | treePane.setPreferredSize(new Dimension(150, 400));
366 | add(treePane, BorderLayout.WEST);
367 |
368 | tablePane = new JScrollPane(fileTable);
369 | add(tablePane, BorderLayout.CENTER);
370 |
371 | // 双击打开文件
372 | fileTable.addMouseListener(new MouseAdapter() {
373 | @Override
374 | public void mouseClicked(MouseEvent e) {
375 | super.mouseClicked(e);
376 | if (e.getClickCount() == 2 && e.getButton() == MouseEvent.BUTTON1) {
377 | String fileName = ((String) model.getValueAt(fileTable.getSelectedRow(), 0));
378 | String filePath = ((String) model.getValueAt(fileTable.getSelectedRow(), 1));
379 | try {
380 | if (Desktop.isDesktopSupported()) {
381 | Desktop desktop = Desktop.getDesktop();
382 | desktop.open(new File(filePath));
383 | }
384 | } catch (IOException e1) {
385 | JOptionPane.showMessageDialog(null, "抱歉,出了一些错误!", "Fail to open", JOptionPane.ERROR_MESSAGE);
386 | }
387 | JOptionPane.showMessageDialog(null, "File Name: " + fileName + "\n File Path: " + filePath,
388 | "content", JOptionPane.INFORMATION_MESSAGE);
389 | }
390 | }
391 | });
392 |
393 | // 菜单初始化
394 | final JPopupMenu myMenu = new JPopupMenu();
395 | myMenu.setPreferredSize(new Dimension(300, 200));
396 |
397 | // 新建文件
398 | JMenuItem createFileItem = new JMenuItem("新建文件");
399 | createFileItem.addActionListener(new ActionListener() {
400 | @Override
401 | public void actionPerformed(ActionEvent e) {
402 | DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
403 | myFiles temp = (myFiles) node.getUserObject();
404 | int blokName = temp.getBlockName();
405 | Folder currentBlock = folders.get(blokName - 1);
406 |
407 | String inputValue;
408 | double capacity;
409 |
410 | JOptionPane inputPane = new JOptionPane();
411 | inputPane.setPreferredSize(new Dimension(600, 600));
412 | inputPane.setInputValue(JOptionPane.showInputDialog("文件名:"));
413 | if (inputPane.getInputValue() == null) {
414 | return;
415 | }
416 | inputValue = inputPane.getInputValue().toString();
417 | inputPane.setInputValue(JOptionPane.showInputDialog("文件大小(KB):"));
418 | if (inputPane.getInputValue() == null) {
419 | return;
420 | }
421 | capacity = Double.parseDouble(inputPane.getInputValue().toString());
422 |
423 | File newFile = new File(temp.getFilePath() + File.separator + inputValue + ".txt");
424 | if (!newFile.exists() && !inputValue.equals(null)) {
425 | try {
426 | if (currentBlock.createFile(newFile, capacity)) {
427 | DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(
428 | new myFiles(newFile, blokName, capacity));
429 | model.removeRows(0, model.getRowCount());
430 | model.addRow(new myFiles(newFile, blokName, capacity));
431 | fileTable.updateUI();
432 | upDateBlock(currentBlock);
433 | JOptionPane.showMessageDialog(null, "创建成功!请刷新文件夹!", "Success", JOptionPane.DEFAULT_OPTION);
434 | }
435 | } catch (IOException e1) {
436 | JOptionPane.showMessageDialog(null, "创建失败!!!", "Error", JOptionPane.ERROR_MESSAGE);
437 | }
438 | }
439 | }
440 | });
441 | myMenu.add(createFileItem);
442 |
443 | // 新建文件夹
444 | JMenuItem createDirItem = new JMenuItem("新建文件夹");
445 | createDirItem.addActionListener(new ActionListener() {
446 | @Override
447 | public void actionPerformed(ActionEvent e) {
448 | DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
449 | myFiles temp = (myFiles) node.getUserObject();
450 | int blokName = temp.getBlockName();
451 | Folder currentBlock = folders.get(blokName - 1);
452 | String inputValue = JOptionPane.showInputDialog("文件夹名称:");
453 | if (inputValue == null) {
454 | return;
455 | }
456 | File newDir = new File(temp.getFilePath() + File.separator + inputValue);
457 | if (newDir.exists())
458 | deleteDirectory(newDir.getPath());
459 | try {
460 | newDir.mkdir();
461 | DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(new myFiles(newDir, blokName, 0));
462 | newNode.add(new DefaultMutableTreeNode("temp"));
463 | model.removeRows(0, model.getRowCount());
464 | model.addRow(new myFiles(newDir, blokName, 0));
465 | fileTable.updateUI();
466 | upDateBlock(currentBlock);
467 | JOptionPane.showMessageDialog(null, "创建成功,请刷新文件夹!", "Success", JOptionPane.DEFAULT_OPTION);
468 | } catch (Exception E) {
469 | JOptionPane.showMessageDialog(null, "创建失败!!!", "Error", JOptionPane.ERROR_MESSAGE);
470 | }
471 | }
472 | });
473 | myMenu.add(createDirItem);
474 |
475 | // 删除文件/文件夹
476 | JMenuItem deleteItem = new JMenuItem("删除");
477 | deleteItem.addActionListener(new ActionListener() {
478 | @Override
479 | public void actionPerformed(ActionEvent e) {
480 | DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
481 | myFiles temp = (myFiles) node.getUserObject();
482 | int blokName = temp.getBlockName();
483 | Folder currentBlock = folders.get(blokName - 1);
484 | int choose = JOptionPane.showConfirmDialog(null, "确定删除?", "confirm", JOptionPane.YES_NO_OPTION);
485 | if (choose == 0) {
486 | if (currentBlock.deleteFile(temp.getMyFile(), temp.getSpace())) {
487 | try {
488 | currentBlock.rewriteBitMap();
489 | currentBlock.rewriteRecoverWriter();
490 | } catch (IOException e1) {
491 | e1.printStackTrace();
492 | }
493 | upDateBlock(currentBlock);
494 | JOptionPane.showMessageDialog(null, "删除成功,请刷新文件夹!", "Success", JOptionPane.DEFAULT_OPTION);
495 | } else {
496 | JOptionPane.showMessageDialog(null, "删除失败!!!", "Error", JOptionPane.ERROR_MESSAGE);
497 | }
498 | }
499 | }
500 | });
501 | myMenu.add(deleteItem);
502 |
503 | // 格式化
504 | JMenuItem formatItem = new JMenuItem("格式化");
505 | formatItem.addActionListener(new ActionListener() {
506 | @Override
507 | public void actionPerformed(ActionEvent e) {
508 | DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
509 | myFiles temp = (myFiles) node.getUserObject();
510 | int blokName = temp.getBlockName();
511 | Folder currentBlock = folders.get(blokName - 1);
512 | int choose = JOptionPane.showConfirmDialog(null, "确定格式化文件夹吗?", "confirm", JOptionPane.YES_NO_OPTION);
513 | if (choose == 0) {
514 | try {
515 | if (temp.getMyFile().isDirectory()) {
516 | for (File myfile : temp.getMyFile().listFiles()) {
517 | currentBlock.deleteFile(myfile, getSpace(myfile));
518 | }
519 | upDateBlock(currentBlock);
520 | JOptionPane.showMessageDialog(null, "格式化成功,请刷新文件夹!", "Success", JOptionPane.DEFAULT_OPTION);
521 | currentBlock.rewriteBitMap();
522 | }
523 | } catch (Exception E1) {
524 | JOptionPane.showMessageDialog(null, "格式化失败!!!", "Error", JOptionPane.ERROR_MESSAGE);
525 | }
526 | }
527 | }
528 | });
529 | myMenu.add(formatItem);
530 |
531 | // 重命名
532 | JMenuItem renameItem = new JMenuItem("重命名");
533 | renameItem.addActionListener(new ActionListener() {
534 | @Override
535 | public void actionPerformed(ActionEvent e) {
536 | DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
537 | myFiles temp = (myFiles) node.getUserObject();
538 | int blokName = temp.getBlockName();
539 | Folder currentBlock = folders.get(blokName - 1);
540 |
541 | String inputValue = null;
542 | JOptionPane inputPane = new JOptionPane();
543 | inputPane.setInputValue(JOptionPane.showInputDialog("新的文件名:"));
544 | if (inputPane.getInputValue() == null) {
545 | return;
546 | }
547 | inputValue = inputPane.getInputValue().toString();
548 | try {
549 | currentBlock.renameFile(temp.getMyFile(), inputValue, temp.getSpace());
550 | JOptionPane.showMessageDialog(null, "重命名成功,请刷新文件夹", "Success", JOptionPane.DEFAULT_OPTION);
551 | } catch (IOException e1) {
552 | JOptionPane.showMessageDialog(null, "重命名失败!!!", "Error", JOptionPane.ERROR_MESSAGE);
553 | }
554 | }
555 | });
556 | myMenu.add(renameItem);
557 |
558 | // 文件夹信息
559 | JPanel panel = new JPanel();
560 | panel.setBackground(new Color(79, 155, 250));
561 | panel.setForeground(Color.WHITE);
562 | panel.setLayout(new FlowLayout(FlowLayout.CENTER));
563 | panel.add(blockName);
564 | nameField.setForeground(Color.WHITE);
565 | panel.add(nameField);
566 | panel.add(new JLabel(" "));
567 | panel.add(haveUsed);
568 | usedField.setForeground(Color.WHITE);
569 | panel.add(usedField);
570 | panel.add(new JLabel(" "));
571 | panel.add(freeYet);
572 | freeField.setForeground(Color.WHITE);
573 | panel.add(freeField);
574 | panel.add(new JLabel(" "));
575 | panel.add(fileNum);
576 | fileNumField.setForeground(Color.WHITE);
577 | panel.add(fileNumField);
578 | add(panel, BorderLayout.SOUTH);
579 |
580 | // 搜索条初始化
581 | JPanel searchPane = new JPanel(new FlowLayout(FlowLayout.LEFT));
582 | final JLabel searchLabel = new JLabel("搜索(格式: 文件:1.txt 文件夹:1): ");
583 | searchPane.add(searchLabel);
584 | searchLine.setPreferredSize(new Dimension(500, 30));
585 | searchPane.add(searchLine);
586 | JButton searchButton = new JButton("开始");
587 | searchButton.addActionListener(new ActionListener() {
588 | @Override
589 | public void actionPerformed(ActionEvent e) {
590 | String fileName = searchLine.getText();
591 | if (!searchFile(fileName, rootFile)) {
592 | JOptionPane.showMessageDialog(null, "找不到此文件!", "Fail!", JOptionPane.WARNING_MESSAGE);
593 | }
594 | searchLine.setText("");
595 | }
596 | });
597 | searchPane.add(searchButton);
598 | add(searchPane, BorderLayout.NORTH);
599 |
600 | // 给文件树加监听
601 | tree.addMouseListener(new MouseAdapter() {
602 | @Override
603 | public void mouseClicked(MouseEvent e) {
604 | super.mouseClicked(e);
605 | if (e.getButton() == MouseEvent.BUTTON3) {
606 | myMenu.show(e.getComponent(), e.getX(), e.getY());
607 |
608 | }
609 | }
610 | });
611 |
612 | this.setBounds(150, 50, 900, 600);
613 | setVisible(true);
614 | }
615 |
616 | public static void main(String args[]) throws IOException {
617 | new MyFileSystem();
618 | }
619 | }
620 |
--------------------------------------------------------------------------------
/文件管理-文件系统/src/Java/myFiles.java:
--------------------------------------------------------------------------------
1 | package Java;
2 |
3 | import java.io.File;
4 |
5 | public class myFiles {
6 | private int blockName;
7 | private File myFile;
8 | private String fileName;
9 | double space;
10 |
11 | public myFiles(File myFile, int blockName, double capacity) {
12 | space = capacity;
13 | this.myFile = myFile;
14 | this.blockName = blockName;
15 | fileName = myFile.getName();
16 | }
17 |
18 | public String getFileName() {
19 | return myFile.getName();
20 | }
21 |
22 | public String getFilePath() {
23 | return myFile.toString();
24 | }
25 |
26 | public boolean renameFile(String name) {
27 | String c = myFile.getParent();
28 | File mm = new File(c + File.separator + name);
29 | if (myFile.renameTo(mm)) {
30 | myFile = mm;
31 | fileName = name;
32 | return true;
33 | } else {
34 | return false;
35 | }
36 | }
37 |
38 | public File getMyFile() {
39 | return myFile;
40 | }
41 |
42 | public int getBlockName() {
43 | return blockName;
44 | }
45 |
46 | public double getSpace() {
47 | return space;
48 | }
49 |
50 | @Override
51 | public String toString() {
52 | return fileName;
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/文件管理-文件系统/src/Java/tableModel.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/文件管理-文件系统/src/Java/tableModel.java
--------------------------------------------------------------------------------
/文件管理-文件系统/src/image/document.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/文件管理-文件系统/src/image/document.png
--------------------------------------------------------------------------------
/文件管理-文件系统/src/image/folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/文件管理-文件系统/src/image/folder.png
--------------------------------------------------------------------------------
/文件管理-文件系统/模拟文件管理系统-设计方案报告.md:
--------------------------------------------------------------------------------
1 | # 模拟文件管理系统-设计方案报告
2 |
3 | ## 目录
4 |
5 | [TOC]
6 |
7 | ## 项目需求
8 |
9 | ### 基本任务
10 |
11 | 在内存中开辟一个空间作为文件存储器,在其上实现一个简单的文件系统。
12 |
13 | 退出这个文件系统时,需要该文件系统的内容保存到磁盘上,以便下次可以将其恢复到内存中来。
14 |
15 | ### 功能描述
16 |
17 | - 文件存储空间管理可采取显式链接(如FAT)或者其他方法。(即自选一种方法)
18 | - 空闲空间管理可采用位图或者其他方法。如果采用了位图,可将位图和FAT表合二为一。
19 | - 文件目录采用多级目录结构。至于是否采用索引节点结构,自选。目录项目中应包含:文件名、物理地址、长度等信息。同学可在这里增加一些其他信息。
20 | - 文件系统提供的操作:
21 | - 格式化
22 | - 创建子目录
23 | - 删除子目录
24 | - 显示目录
25 | - 更改当前目录
26 | - 创建文件
27 | - 打开文件
28 | - 关闭文件
29 | - 写文件
30 | - 读文件
31 | - 删除文件
32 |
33 | ### 项目目的
34 |
35 | - 熟悉文件存储空间的管理;
36 | - 熟悉文件的物理结构、目录结构和文件操作;
37 | - 熟悉文件系统管理实现;
38 | - 加深对文件系统内部功能和实现过程的理解
39 |
40 | ## 开发环境
41 |
42 | - **开发环境:** Windows 10
43 | - **开发软件:** Eclipse
44 | - **开发语言:**JavaSE (jdk1.8.0_241)
45 | - **开发工具包:**Swing
46 |
47 | ## 项目结构
48 |
49 | ```
50 | │ MyFileSystem.exe
51 | │ MyFileSystem.jar
52 | │ README.md
53 | │ README.pdf
54 | │ 模拟文件管理系统-设计方案报告.pdf
55 | │
56 | ├─myFileSystem(模拟系统文件夹,请勿删除)
57 | │ │ ReadMe.txt
58 | │ │
59 | │ ├─1
60 | │ │ 1BitMap&&Fat.txt
61 | │ │ recover.txt
62 | │ │
63 | │ ├─2
64 | │ │ 2BitMap&&Fat.txt
65 | │ │ recover.txt
66 | │ │
67 | │ ├─3
68 | │ │ 3BitMap&&Fat.txt
69 | │ │ recover.txt
70 | │ │
71 | │ ├─4
72 | │ │ 4BitMap&&Fat.txt
73 | │ │ recover.txt
74 | │ │
75 | │ ├─5
76 | │ │ 5BitMap&&Fat.txt
77 | │ │ recover.txt
78 | │ │
79 | │ ├─6
80 | │ │ 6BitMap&&Fat.txt
81 | │ │ mojito.txt
82 | │ │ recover.txt
83 | │ │
84 | │ ├─7
85 | │ │ 7BitMap&&Fat.txt
86 | │ │ recover.txt
87 | │ │
88 | │ ├─8
89 | │ │ 8BitMap&&Fat.txt
90 | │ │ recover.txt
91 | │ │
92 | │ └─9
93 | │ 9BitMap&&Fat.txt
94 | │ recover.txt
95 | │
96 | └─src
97 | ├─image
98 | │ document.png
99 | │ folder.png
100 | │
101 | ├─Java
102 | │ Folder.java
103 | │ myFiles.java
104 | │ MyFileSystem.java
105 | │ tableModel.java
106 | │
107 | └─myFileSystem
108 | ```
109 |
110 | ## 系统分析
111 |
112 | ### 显示链接法
113 |
114 | 本文件系统中, 文件存储空间管理使用**显示链接**的方法,文件中的内容存放在磁盘不同的块中,每次创建文件时为文件分配数量合适的空闲块。每次写文件时按顺序将文件内容写在相应块中; 删除文件时将原先有内容的位置置为空即可。
115 |
116 | ### 位图、FAT表
117 |
118 | 磁盘空闲空间管理在**位图**的基础上进行改造,将存放磁盘上文件位置信息的**FAT表**与传统的位图进行结合,磁盘空闲的位置使用`0`标识,放有文件的盘块存放文件所在的下一个盘块的位置,文件存放结束的盘块位置使用`1`标识。
119 |
120 | ## 系统设计及实现
121 |
122 | ### 组件设计
123 |
124 | * 文件树:`Java.Swing.JTree`
125 | * 文件表:`Java.Swing.JTable`
126 | * 搜索板块
127 | * 搜索框:`Java.Swing.JTextField`
128 | * 提示语:`Java.Swing.JLabel`
129 | * 按钮:`Java.Swing.JButton`
130 | * 详细信息展示条:`Java.Swing.JLabel`
131 |
132 | ### 功能实现
133 |
134 | #### 创建文件
135 |
136 | 通过调用`File`类的`createFile()`来实现,创建后刷新FAT和位图,如果虚拟存储空间不够则会提示创建失败
137 |
138 | ```java
139 | JMenuItem createFileItem = new JMenuItem("新建文件");
140 | createFileItem.addActionListener(new ActionListener() {
141 | @Override
142 | public void actionPerformed(ActionEvent e) {
143 | DefaultMutableTreeNode node =(DefaultMutableTreeNode)
144 | tree.getLastSelectedPathComponent();
145 | myFiles temp = (myFiles) node.getUserObject();
146 | int blokName = temp.getBlockName();
147 | Folder currentBlock = folders.get(blokName - 1);
148 |
149 | String inputValue;
150 | double capacity;
151 |
152 | JOptionPane inputPane = new JOptionPane();
153 | inputPane.setPreferredSize(new Dimension(600, 600));
154 | inputPane.setInputValue(JOptionPane.showInputDialog("文件名:"));
155 | if (inputPane.getInputValue() == null) {
156 | return;
157 | }
158 | inputValue = inputPane.getInputValue().toString();
159 | inputPane.setInputValue(JOptionPane.showInputDialog("文件大小(KB):"));
160 | if (inputPane.getInputValue() == null) {
161 | return;
162 | }
163 | capacity = Double.parseDouble(inputPane.getInputValue().toString());
164 |
165 | File newFile = new File(temp.getFilePath() + File.separator + inputValue + ".txt");
166 | if (!newFile.exists() && !inputValue.equals(null)) {
167 | try {
168 | if (currentBlock.createFile(newFile, capacity)) {
169 | DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(
170 | new myFiles(newFile, blokName, capacity));
171 | model.removeRows(0, model.getRowCount());
172 | model.addRow(new myFiles(newFile, blokName, capacity));
173 | fileTable.updateUI();
174 | upDateBlock(currentBlock);
175 | JOptionPane.showMessageDialog(null, "创建成功!请刷新文件夹!", "Success", JOptionPane.DEFAULT_OPTION);
176 | }
177 | } catch (IOException e1) {
178 | JOptionPane.showMessageDialog(null, "创建失败!!!", "Error", JOptionPane.ERROR_MESSAGE);
179 | }
180 | }
181 | }
182 | });
183 | myMenu.add(createFileItem);
184 | ```
185 |
186 | #### 删除文件
187 |
188 | 通过调用`File`类的`delete()`来实现,对于文件夹,需要先递归调用删除函数将文件删除后再删文件夹本身,删除成功后刷新FAT和位图
189 |
190 | ```java
191 | JMenuItem deleteItem = new JMenuItem("删除");
192 | deleteItem.addActionListener(new ActionListener() {
193 | @Override
194 | public void actionPerformed(ActionEvent e) {
195 | DefaultMutableTreeNode node = (DefaultMutableTreeNode)
196 | tree.getLastSelectedPathComponent();
197 | myFiles temp = (myFiles) node.getUserObject();
198 | int blokName = temp.getBlockName();
199 | Folder currentBlock = folders.get(blokName - 1);
200 | int choose = JOptionPane.showConfirmDialog(null, "确定删除?", "confirm", JOptionPane.YES_NO_OPTION);
201 | if (choose == 0) {
202 | if (currentBlock.deleteFile(temp.getMyFile(), temp.getSpace())) {
203 | try {
204 | currentBlock.rewriteBitMap();
205 | currentBlock.rewriteRecoverWriter();
206 | } catch (IOException e1) {
207 | e1.printStackTrace();
208 | }
209 | upDateBlock(currentBlock);
210 | JOptionPane.showMessageDialog(null, "删除成功,请刷新文件夹!", "Success", JOptionPane.DEFAULT_OPTION);
211 | } else {
212 | JOptionPane.showMessageDialog(null, "删除失败!!!", "Error", JOptionPane.ERROR_MESSAGE);
213 | }
214 | }
215 | }
216 | });
217 | myMenu.add(deleteItem);
218 | ```
219 |
220 | #### 重命名
221 |
222 | 通过调用File类的`renameTo()`方法进行重命名,如果相同目录下有相同的文件,则重命名将会失败。
223 |
224 | ```java
225 | JMenuItem renameItem = new JMenuItem("重命名");
226 | renameItem.addActionListener(new ActionListener() {
227 | @Override
228 | public void actionPerformed(ActionEvent e) {
229 | DefaultMutableTreeNode node = (DefaultMutableTreeNode)
230 | tree.getLastSelectedPathComponent();
231 | myFiles temp = (myFiles) node.getUserObject();
232 | int blokName = temp.getBlockName();
233 | Folder currentBlock = folders.get(blokName - 1);
234 |
235 | String inputValue = null;
236 | JOptionPane inputPane = new JOptionPane();
237 | inputPane.setInputValue(JOptionPane.showInputDialog("新的文件名:"));
238 | if (inputPane.getInputValue() == null) {
239 | return;
240 | }
241 | inputValue = inputPane.getInputValue().toString();
242 | try {
243 | currentBlock.renameFile(temp.getMyFile(), inputValue, temp.getSpace());
244 | JOptionPane.showMessageDialog(null, "重命名成功,请刷新文件夹", "Success",
245 | JOptionPane.DEFAULT_OPTION);
246 | } catch (IOException e1) {
247 | JOptionPane.showMessageDialog(null, "重命名失败!!!", "Error",
248 | JOptionPane.ERROR_MESSAGE);
249 | }
250 | }
251 | });
252 | myMenu.add(renameItem);
253 | ```
254 |
255 | #### 打开文件
256 |
257 | 双击程序右侧显示面板中的文件即可打开对应文件,通过对鼠标操作加监听来实现
258 |
259 | ```java
260 | fileTable.addMouseListener(new MouseAdapter() {
261 | @Override
262 | public void mouseClicked(MouseEvent e) {
263 | super.mouseClicked(e);
264 | if (e.getClickCount() == 2 && e.getButton() == MouseEvent.BUTTON1) {
265 | String fileName = ((String) model.getValueAt(fileTable.getSelectedRow(), 0));
266 | String filePath = ((String) model.getValueAt(fileTable.getSelectedRow(), 1));
267 | try {
268 | if (Desktop.isDesktopSupported()) {
269 | Desktop desktop = Desktop.getDesktop();
270 | desktop.open(new File(filePath));
271 | }
272 | } catch (IOException e1) {
273 | JOptionPane.showMessageDialog(null, "抱歉,出了一些错误!", "Fail to open", JOptionPane.ERROR_MESSAGE);
274 | }
275 | JOptionPane.showMessageDialog(null, "File Name: " + fileName + "\n File Path: " + filePath,
276 | "content", JOptionPane.INFORMATION_MESSAGE);
277 | }
278 | }
279 | });
280 | ```
281 |
282 | #### 格式化
283 |
284 | 先递归删除该目录下的所有文件,然后更新位图和FAT
285 |
286 | ```java
287 | JMenuItem formatItem = new JMenuItem("格式化");
288 | formatItem.addActionListener(new ActionListener() {
289 | @Override
290 | public void actionPerformed(ActionEvent e) {
291 | DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
292 | myFiles temp = (myFiles) node.getUserObject();
293 | int blokName = temp.getBlockName();
294 | Folder currentBlock = folders.get(blokName - 1);
295 | int choose = JOptionPane.showConfirmDialog(null, "确定格式化文件夹吗?", "confirm", JOptionPane.YES_NO_OPTION);
296 | if (choose == 0) {
297 | try {
298 | if (temp.getMyFile().isDirectory()) {
299 | for (File myfile : temp.getMyFile().listFiles()) {
300 | currentBlock.deleteFile(myfile, getSpace(myfile));
301 | }
302 | upDateBlock(currentBlock);
303 | JOptionPane.showMessageDialog(null, "格式化成功,请刷新文件夹!", "Success", JOptionPane.DEFAULT_OPTION);
304 | currentBlock.rewriteBitMap();
305 | }
306 | } catch (Exception E1) {
307 | JOptionPane.showMessageDialog(null, "格式化失败!!!", "Error", JOptionPane.ERROR_MESSAGE);
308 | }
309 | }
310 | }
311 | });
312 | myMenu.add(formatItem);
313 | ```
314 |
315 |
316 |
317 | ## 功能展示及详细操作说明
318 |
319 | ### 创建文件
320 |
321 | * 在**文件夹内**双击运行`MyFileSystem.exe`,进入文件管理模拟系统如下图
322 |
323 | 
324 |
325 | * 选中文件夹,右键显示操作列表,如下图所示
326 |
327 | 
328 |
329 | * 点击`新建文件夹`,在弹出的提示框内输入文件名,然后点击`确定`
330 |
331 | 
332 |
333 | * 输入文件大小,再次点击`确定`
334 |
335 | 
336 |
337 | * 系统将提示新建文件成功,再次点击`确定`
338 |
339 | 
340 |
341 |
342 |
343 | ### 创建文件夹
344 |
345 | * 右键召出菜单列表,点击`新建文件夹`
346 |
347 | 
348 |
349 | * 在弹出的提示框内输入文件夹名称,然后点击`确定`
350 |
351 | 
352 |
353 | * 系统提示创建成功,再次点击`确定`
354 |
355 | 
356 |
357 | * 再次打开文件夹(示例中是文件夹6),文件夹创建成功
358 |
359 | 
360 |
361 | ### 格式化
362 |
363 | * 选定要格式化的文件夹,右键召出菜单列表,点击`格式化`
364 |
365 | 
366 |
367 | * 在弹出的对话框汇中选择`是`或`否 `
368 |
369 | 
370 |
371 | * 系统提示格式化成功,再次点击`确定`
372 |
373 | 
374 |
375 | * 再次打开格式化后的文件夹,格式化成功
376 |
377 | 
378 |
379 | ### 删除文件夹
380 |
381 | * 选定要删除的文件夹,右键召出菜单列表
382 |
383 | 
384 |
385 | * 在弹出的对话框中选择`是`或`否`
386 |
387 | 
388 |
389 | * 系统弹出对话框提示删除成功
390 |
391 | 
392 |
393 | * 再次打开文件夹,删除成功
394 |
395 | 
396 |
397 | ### 删除文件
398 |
399 | * 选定要删除的文件,右键召出菜单列表,点击`删除`
400 |
401 | 
402 |
403 | * 在弹出的系统对话框中选择`是`或`否`
404 |
405 | 
406 |
407 | * 选`是`则系统提示删除成功
408 |
409 | 
410 |
411 | * 重新打开文件夹,删除成功
412 |
413 | 
414 |
415 | ### 重命名
416 |
417 | * 选中要重命名的文件或文件夹,右键召出菜单列表,选择重命名
418 |
419 | 
420 |
421 | * 在弹出的对话框中填上要修改的文件名,然后点击`确定`
422 |
423 | 
424 |
425 | * 系统弹出对话框提示重命名成功
426 |
427 | 
428 |
429 | * 再次打开文件夹,重命名成功
430 |
431 | 
432 |
433 | ### 打开文件
434 |
435 | * 找到要打开的文件,双击文件表中的文件
436 |
437 | 
438 |
439 | ### 搜索文件
440 |
441 | * 在上方的搜索框中输入要搜索的文件或文件夹名称(注:文件名称格式为`myFile.txt`文件夹名称格式为`6-1`)然后点击`开始`
442 |
443 | 
444 |
445 | * 系统找到文件后会自动打开文件
446 |
447 | 
448 |
449 | * 系统找不到文件则会弹出对话框提示查找失败
450 |
451 | 
452 |
453 | ## 作者
454 |
455 | **姓名:**Kerr
456 |
457 | **联系方式:**kerr99801@gmail.com
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/MyElevator.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/MyElevator.exe
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/README.md:
--------------------------------------------------------------------------------
1 | # 进程管理 - 电梯调度
2 |
3 | ## 开发环境
4 |
5 |
6 | * **开发环境:** Windows 10
7 | * **开发软件:** Eclipse
8 | * **开发语言:** JavaSE (jdk1.8.0_241)
9 | * **开发工具包:** Swing
10 |
11 | ## 操作说明
12 |
13 |
14 | * 在**文件夹内**双击运行`MyElevator.exe`,进入电梯模拟系统如下图(注,双击后可能会出现如下警告,点击确定即可运行)
15 |
16 |
17 |
18 | * **一开始电梯都停在1层,数码显示器显示01**
19 |
20 |
21 |
22 |
23 | * 点击每部电梯的**功能键**(*开/关键*,*报警器*,*楼层按钮*), 进行**单部电梯内命令处理**模拟
24 |
25 |
26 |
27 | 点击左侧楼层上下按钮,进行**多部电梯外命令处理**模拟。
28 |
29 |
30 | * 注:由于空间有限无法给每一个电梯每一层都做上下按钮,故只在每层设置一组上下按钮,**表示该层有上行或下行请求**。其中20层不能继续上行、1层不能继续下行,故不设对应按钮。
31 |
32 | ## 项目结构
33 |
34 | ```
35 | │ elevator.jar
36 | │ README.md
37 | │ README.pdf
38 | │ tree.txt
39 | │ 进程管理 - 电梯调度_设计方案报告.pdf
40 | │
41 | └─src
42 | ├─component
43 | │ Buttons.java
44 | │ Elevator.java
45 | │ EventListener.java
46 | │ Floor.java
47 | │ MyButton.java
48 | │
49 | ├─image
50 | │ 1.png
51 | │ 10.png
52 | │ 10A.png
53 | │ 10h.png
54 | │ 11.png
55 | │ 11A.png
56 | │ 11h.png
57 | │ 12.png
58 | │ 12A.png
59 | │ 12h.png
60 | │ 13.png
61 | │ 13A.png
62 | │ 13h.png
63 | │ 14.png
64 | │ 14A.png
65 | │ 14h.png
66 | │ 15.png
67 | │ 15A.png
68 | │ 15h.png
69 | │ 16.png
70 | │ 16A.png
71 | │ 16h.png
72 | │ 17.png
73 | │ 17A.png
74 | │ 17h.png
75 | │ 18.png
76 | │ 18A.png
77 | │ 18h.png
78 | │ 19.png
79 | │ 19A.png
80 | │ 19h.png
81 | │ 1A.png
82 | │ 1h.png
83 | │ 2.png
84 | │ 20.png
85 | │ 20A.png
86 | │ 20h.png
87 | │ 2A.png
88 | │ 2h.png
89 | │ 3.png
90 | │ 3A.png
91 | │ 3h.png
92 | │ 4.png
93 | │ 4A.png
94 | │ 4h.png
95 | │ 5.png
96 | │ 5A.png
97 | │ 5h.png
98 | │ 6.png
99 | │ 6A.png
100 | │ 6h.png
101 | │ 7.png
102 | │ 7A.png
103 | │ 7h.png
104 | │ 8.png
105 | │ 8A.png
106 | │ 8h.png
107 | │ 9.png
108 | │ 9A.png
109 | │ 9h.png
110 | │ alarm.png
111 | │ alarmH.png
112 | │ close.png
113 | │ closeA.png
114 | │ closeH.png
115 | │ door.png
116 | │ down.png
117 | │ downH.png
118 | │ open.png
119 | │ openA.png
120 | │ openH.png
121 | │ slamDunk.jpg
122 | │ up.png
123 | │ upH.png
124 | │
125 | └─UI
126 | MyBuilding.java
127 | ```
128 |
129 | ## 作者
130 |
131 | 姓名:Kerr
132 |
133 | 联系方式:email:[kerr99801@gmail.com](mailto:kerr99801@gmail.com)
134 |
135 |
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/elevator.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/elevator.jar
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/UI/MyBuilding.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/UI/MyBuilding.java
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/component/Buttons.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/component/Buttons.java
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/component/Elevator.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/component/Elevator.java
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/component/EventListener.java:
--------------------------------------------------------------------------------
1 | package component;
2 |
3 | import java.awt.event.ActionEvent;
4 | import java.awt.event.ActionListener;
5 |
6 | public class EventListener implements ActionListener {
7 | public void actionPerformed(ActionEvent e) {
8 | System.out.println("I'm listening!");
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/component/Floor.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/component/Floor.java
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/component/MyButton.java:
--------------------------------------------------------------------------------
1 | package component;
2 |
3 | import javax.swing.ImageIcon;
4 | import javax.swing.JButton;
5 |
6 | public class MyButton {
7 | static int num_tot = 0;//MyButton's total number
8 | public int num;//this button's code
9 | public JButton btn = new JButton("");
10 |
11 | /**
12 | * Create MyButton.
13 | */
14 | public MyButton(String path_nor, String path_high, int x, int y, int width, int height) {
15 | num = num_tot;
16 | num_tot++;
17 | btn.setIcon(new ImageIcon(this.getClass().getResource(path_nor)));
18 | //set the icon of this button in normal situation
19 |
20 | btn.setBounds(x, y, width, height);
21 | //set the height, width and location
22 |
23 | btn.setDisabledIcon(new ImageIcon(this.getClass().getResource(path_high)));
24 | //set the icon of this button in abnormal situation
25 |
26 | btn.setPressedIcon(new ImageIcon(this.getClass().getResource(path_high)));
27 | //set the icon of this button when it's pressed
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/1.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/10.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/10A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/10A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/10h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/10h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/11.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/11A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/11A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/11h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/11h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/12.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/12A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/12A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/12h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/12h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/13.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/13A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/13A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/13h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/13h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/14.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/14A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/14A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/14h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/14h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/15.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/15A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/15A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/15h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/15h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/16.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/16A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/16A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/16h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/16h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/17.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/17A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/17A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/17h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/17h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/18.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/18A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/18A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/18h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/18h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/19.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/19A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/19A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/19h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/19h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/1A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/1A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/1h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/1h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/2.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/20.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/20A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/20A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/20h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/20h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/2A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/2A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/2h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/2h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/3.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/3A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/3A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/3h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/3h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/4.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/4A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/4A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/4h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/4h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/5.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/5A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/5A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/5h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/5h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/6.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/6A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/6A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/6h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/6h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/7.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/7A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/7A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/7h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/7h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/8.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/8A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/8A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/8h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/8h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/9.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/9A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/9A.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/9h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/9h.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/alarm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/alarm.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/alarmH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/alarmH.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/close.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/closeA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/closeA.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/closeH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/closeH.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/door.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/door.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/down.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/downH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/downH.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/open.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/openA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/openA.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/openH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/openH.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/slamDunk.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/slamDunk.jpg
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/up.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/src/image/upH.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kerr0220/Operating-System/794b5a2a49d9f2938f943500244046f6ee514015/进程管理项目-模拟电梯调度/src/image/upH.png
--------------------------------------------------------------------------------
/进程管理项目-模拟电梯调度/进程管理 - 电梯调度_设计方案报告.md:
--------------------------------------------------------------------------------
1 | # 进程管理 - 电梯调度_设计方案报告
2 |
3 |
4 |
5 | [TOC]
6 |
7 |
8 |
9 | ## 项目需求
10 |
11 | 某一层楼20层,有五部互联的电梯。基于线程思想,编写一个电梯调度程序。
12 |
13 | ### 功能描述
14 |
15 | 1. 每个电梯里面设置必要功能键:如**数字键**、**关门键**、**开门键**、**上行键**、**下行键**、**报警键**、当前电梯的**楼层数**、**上升及下降状态**等。
16 | 2. 每层楼应该有**上行和下行按钮**和当前**电梯状态的数码显示器**
17 | 3. 所有电梯初始状态都在第一层。每个电梯如果在它的上层或者下层没有相应请求情况下,则应该**在原地保持不动**。
18 |
19 |
20 |
21 |
22 |
23 | ## 开发环境
24 |
25 | * **开发环境: ** Windows 10
26 | * **开发软件:** Eclipse
27 | * **开发语言:**JavaSE (jdk1.8.0_241)
28 | * **开发工具包:**Swing
29 |
30 |
31 |
32 | ## 项目结构
33 |
34 | ```
35 | │ elevator.jar
36 | │ README.md
37 | │ README.pdf
38 | │ tree.txt
39 | │ 进程管理 - 电梯调度_设计方案报告.pdf
40 | │
41 | └─src
42 | ├─component
43 | │ Buttons.java
44 | │ Elevator.java
45 | │ EventListener.java
46 | │ Floor.java
47 | │ MyButton.java
48 | │
49 | ├─image
50 | │ 1.png
51 | │ 10.png
52 | │ 10A.png
53 | │ 10h.png
54 | │ 11.png
55 | │ 11A.png
56 | │ 11h.png
57 | │ 12.png
58 | │ 12A.png
59 | │ 12h.png
60 | │ 13.png
61 | │ 13A.png
62 | │ 13h.png
63 | │ 14.png
64 | │ 14A.png
65 | │ 14h.png
66 | │ 15.png
67 | │ 15A.png
68 | │ 15h.png
69 | │ 16.png
70 | │ 16A.png
71 | │ 16h.png
72 | │ 17.png
73 | │ 17A.png
74 | │ 17h.png
75 | │ 18.png
76 | │ 18A.png
77 | │ 18h.png
78 | │ 19.png
79 | │ 19A.png
80 | │ 19h.png
81 | │ 1A.png
82 | │ 1h.png
83 | │ 2.png
84 | │ 20.png
85 | │ 20A.png
86 | │ 20h.png
87 | │ 2A.png
88 | │ 2h.png
89 | │ 3.png
90 | │ 3A.png
91 | │ 3h.png
92 | │ 4.png
93 | │ 4A.png
94 | │ 4h.png
95 | │ 5.png
96 | │ 5A.png
97 | │ 5h.png
98 | │ 6.png
99 | │ 6A.png
100 | │ 6h.png
101 | │ 7.png
102 | │ 7A.png
103 | │ 7h.png
104 | │ 8.png
105 | │ 8A.png
106 | │ 8h.png
107 | │ 9.png
108 | │ 9A.png
109 | │ 9h.png
110 | │ alarm.png
111 | │ alarmH.png
112 | │ close.png
113 | │ closeA.png
114 | │ closeH.png
115 | │ door.png
116 | │ down.png
117 | │ downH.png
118 | │ open.png
119 | │ openA.png
120 | │ openH.png
121 | │ slamDunk.jpg
122 | │ up.png
123 | │ upH.png
124 | │
125 | └─UI
126 | MyBuilding.java
127 | ```
128 |
129 |
130 |
131 | ## 操作说明
132 |
133 | * 在**文件夹内**双击运行```elevator.jar```,进入电梯模拟系统如下图
134 |
135 | **一开始电梯都停在1层,数码显示器显示01**
136 |
137 |
138 |
139 |
140 |
141 | * 点击每部电梯的**功能键**(*开/关键*, *报警器*, *楼层按钮*), 进行**单部电梯内命令处理**模拟
142 |
143 |
144 |
145 |
146 |
147 | * 点击左侧楼层上下按钮,进行**多部电梯外命令处理**模拟。
148 |
149 | 注:由于空间有限无法给每一个电梯每一层都做上下按钮,故只在每层设置一组上下按钮,**表示该层有上行或下行请求**。其中20层不能继续上行、1层不能继续下行,故不设对应按钮。
150 |
151 |
152 |
153 | ## 系统分析
154 |
155 | - ### 单部电梯内命令处理
156 |
157 | - **内部事件及对应响应:**
158 | - 用户点击楼层按钮
159 | - 若按键楼层与电梯当前的楼层数相同$\rightarrow$该电梯开门,1秒后自动关门
160 | - 若按键楼层与电梯当前楼层数不同$\rightarrow$将对应楼层的请求设为true,并进行调度
161 | - 若电梯正在上行且按键楼层在电梯当前楼层之上$\rightarrow$电梯到达该层时停靠、开门、1秒后自动关门
162 | - 若电梯正在下行且按键楼层在电梯当前楼层之下$\rightarrow$电梯到达该层时停靠、开门、1秒后自动关门
163 | - 若电梯正在上行而按键楼层在电梯当前楼层之下$\rightarrow$电梯继续上行,完成此前的任务后下行到达该层、开门、1秒后关门
164 | - 若电梯正在下行而按键楼层在电梯当前楼层之上$\rightarrow$电梯继续下行,完成此前的任务后上行到达该层、开门、1秒后关门
165 | - 用户点击开关按钮
166 | - 若电梯正在运行,不响应此请求
167 | - 若电梯处于静止状态,开门、1秒后关门
168 | - 用户点击报警按钮
169 | - 电梯立刻停止运行,数码显示器显示“ERR!”
170 | - 1秒后该电梯所有内部按键变红且失效
171 |
172 | - ### 多部电梯外命令处理
173 |
174 | - **外部事件及对应响应:**
175 |
176 | - 用户按下某一楼层的上/下行按钮(每层设置一个上/下行按钮)
177 |
178 | a. 筛选处于正常状态的电梯,计算每部电梯到达此层的路程:
179 |
180 | - 静止态的电梯:
181 |
182 | 当前楼层和请求楼层之间的距离即为路程(每层层高为30个像素点)
183 |
184 | - 上行电梯:
185 |
186 | - 若请求楼层在电梯当前所在楼层之上,电梯当前楼层和请求楼层之间的距离即为路程
187 |
188 | - 若请求楼层在电梯当前坐在楼层之下
189 |
190 | 路程=电梯上行到达任务中最远楼层的距离*2+当前楼层和请求楼层之间的距离
191 |
192 | - 下行电梯:
193 |
194 | - 若请求楼层在电梯当前所在楼层之下,电梯当前楼层和请求楼层之间的距离即为路程
195 |
196 | - 若请求楼层在电梯当前坐在楼层之上
197 |
198 | 路程=电梯下行到达任务中最远楼层的距离*2+当前楼层和请求楼层之间的距离
199 |
200 | b. 选出所需路程最短的电梯,将此请求加入该电梯的任务序列中等待响应
201 |
202 |
203 |
204 | ## 系统设计
205 |
206 | ### 界面设计
207 |
208 | #### 1.整体设计
209 |
210 | * **初始状态**
211 |
212 |
213 |
214 | * **运行状态**
215 |
216 | 
217 |
218 | #### 2.组件设计
219 |
220 | * **窗体模型:** ```Java. Swing. JFrame```
221 | * **电梯模型:**``Elevator`` 继承面板父类``Java. Swing. JPanel`` 实现线程接口``Java. lang. Runnable``
222 | * 电梯内部按钮 ``component. Buttons``
223 | * 按钮后的粉底背板 ``Java. Swing. JLabel``
224 | * 各类按钮 ``component. MyButton``
225 | * 电梯状态的“数码显示器” ``Java. Swing. JLabel``
226 | * 电梯门 ``Java. Swing. JLabel``
227 | * 电梯文字 ``Java. Swing. JLabel``
228 | * **楼层模型:**` component. Floor`
229 | * 楼层数字 `Java. Swing. JLabel `
230 | * 楼层背景 `Java. Swing. JLabel`
231 | * 楼层上下按钮 `component. MyButton`
232 | * **大楼模型:**`UI. MyBuilding`
233 | * 电梯*5
234 | * 楼层*20
235 |
236 | ### 状态设计
237 |
238 | * **电梯状态**
239 | * ``IsRun`` = false # 静止状态
240 | * ``IsRun`` = true # 运行状态
241 | * ``IsUp`` = true # 上行
242 | * ``IsDown`` = true # 下行
243 | * **电梯门状态**
244 | * ``IsOpen`` = true # 开门状态
245 | * ``IsOpen`` = false # 关门状态
246 | * **楼层状态**
247 | * `whichFloorIsWaitUp[i]` = true # 第`i`层请求上行
248 | * `whichFloorIsWaitDown[i]` = true # 第`i`层请求下行
249 |
250 | ### 类设计
251 |
252 | #### 1.MyButton类:电梯按钮
253 |
254 | 
255 |
256 | #### 2.Buttons类:电梯内按钮组
257 |
258 | 
259 |
260 | #### 3.Elevator类:电梯类
261 |
262 |
263 |
264 | #### 4.EventListener类:实现事件监听接口
265 |
266 | ```java
267 | public class EventListener implements ActionListener {
268 | public void actionPerformed(ActionEvent e) {
269 | System.out.println("I'm listening!");
270 | }
271 | }
272 | ```
273 |
274 | #### 5.Floor类:楼层类
275 |
276 |
277 |
278 | #### 6.MyBuilding类:大楼类(主类)
279 |
280 |
281 |
282 | ## 系统实现
283 |
284 | ### 内命令处理
285 |
286 | 1. **报警器**
287 |
288 | * 用户点击报警按钮$\rightarrow$对应电梯立即停止运行$\rightarrow$数码显示器显示“ERR!”
289 | * 该电梯所有内部按钮变红,并且无法再按下
290 | * 禁用该电梯,外部调度将忽略此电梯
291 |
292 | ```java
293 | buttons.btnAlarm.btn.addActionListener(new EventListener() {
294 | public void actionPerformed(ActionEvent e) {
295 | alarm = true;
296 | buttons.setFloor(-1);
297 | buttons.btnAlarm.btn.setEnabled(false);
298 | alarming();
299 | }
300 | });
301 | ```
302 |
303 | ```java
304 | //alarming
305 | private void alarming() {
306 | if (alarm) {
307 | for (int i = 0; i < 20; i++) {
308 | buttons.buttons[i].btn.setDisabledIcon(new ImageIcon(this.getClass().getResource("/image/" + (i + 1) + "A.png")));
309 | }
310 | buttons.btnOpen.btn.setDisabledIcon(new ImageIcon(this.getClass().getResource("/image/openA.png")));
311 | buttons.btnClose.btn.setDisabledIcon(new ImageIcon(this.getClass().getResource("/image/closeA.png")));
312 |
313 | for (int i = 0; i < 20; i++) {
314 | buttons.buttons[i].btn.setEnabled(false);
315 | }
316 | buttons.btnOpen.btn.setEnabled(false);
317 | buttons.btnClose.btn.setEnabled(false);
318 | }
319 | }
320 | ```
321 |
322 | 2. **楼层按键**
323 |
324 | * 将`toWhichFloor[]`中对应楼层设为true
325 | * 改变该按钮的`enable`状态为`false`,按钮显示`false`状态时的图标
326 | * 如果按钮楼层大于电梯当前楼层:
327 | * `IsRun` = true
328 | * `IsUp` = true $\rightarrow$上行过程中到该层时停下、开门、1秒后自动关门
329 | * `IsDown` = true$\rightarrow$下行至最远请求处后返回该楼层、开门、1秒后关门
330 | * `IsRun` = false
331 | * 电梯启动,运行至该层、开门、1秒后关门
332 | * 如果按钮楼层小于电梯当前楼层
333 | * `IsRun` = true
334 | * `IsDown` = true $\rightarrow$下行过程中到该层时停下、开门、1秒后自动关门
335 | * `IsUp` = true$\rightarrow$上行至最远请求处后返回该楼层、开门、1秒后关门
336 | * `IsRun` = false
337 | * 电梯启动,运行至该层、开门、1秒后关门
338 | * 如果按钮楼层刚好等于电梯当前楼层
339 | * `IsRun` = false
340 | * 开门、1秒后关门
341 | * 恢复按钮`enable`为`true`,显示正常状态图标,并且可按下
342 | * `IsRun` = true
343 | * 停下、开门、1秒后关门
344 | * 恢复按钮`enable`为`true`,显示正常状态图标,并且可按下
345 |
346 | ```java
347 | //add event listener to the button
348 | for (int i = 0; i < 20; i++) {
349 | MyButton btn = buttons.buttons[i];
350 | btn.btn.addActionListener(new EventListener() {
351 | public void actionPerformed(ActionEvent e) {
352 | btn.btn.setEnabled(false);
353 | toWhichFloor[btn.num] = true;
354 | }
355 | });
356 | }
357 | ```
358 |
359 | ```java
360 | // lonely dispatch this elevator
361 | public void dispatch() {
362 | while ((!IsOpen) && (!alarm)) {
363 | buttons.btnOpen.btn.setEnabled(true);
364 | for (int i = 0; i < 20; i++) {
365 | if (toWhichFloor[i]) {
366 | moveToFloor(i + 1);
367 | openDoor();
368 | buttons.buttons[i].btn.setEnabled(true);
369 | try {// wait for a second
370 | Thread.sleep(2000);
371 | } catch (InterruptedException e1) {
372 | // TODO Auto-generated catch block
373 | e1.printStackTrace();
374 | }
375 | closeDoor();
376 | }
377 | }
378 | try {
379 | Thread.sleep(50);
380 | } catch (InterruptedException e) {
381 | e.printStackTrace();
382 | }
383 | }
384 | try {
385 | Thread.sleep(2000);
386 | } catch (InterruptedException e) {
387 | e.printStackTrace();
388 | }
389 | closeDoor();
390 | }
391 | ```
392 |
393 | 3. **开/关门**
394 |
395 | * 开门
396 |
397 | * 电梯`IsRun` = true $\rightarrow$ 忽略该请求
398 | * 电梯`IsRun` = false $\rightarrow$ 开门、1秒后自动关门
399 |
400 | ```java
401 | // add event listener to open button
402 | buttons.btnOpen.btn.addActionListener(new EventListener() {
403 | public void actionPerformed(ActionEvent e) {
404 | buttons.btnOpen.btn.setEnabled(false);
405 | openDoor();
406 | }
407 | });
408 | ```
409 |
410 | ```java
411 | // open the door when it's allowed
412 | private void openDoor() {
413 | IsOpen = true;
414 | buttons.btnClose.btn.setEnabled(true);
415 | while (x > 15) {
416 | if (IsRun) {
417 | break;
418 | }
419 | x -= 1;
420 | this.repaint();
421 | try {
422 | Thread.sleep(10);
423 | } catch (InterruptedException e) {
424 | e.printStackTrace();
425 | }
426 | }
427 | }
428 | ```
429 |
430 | * 关门
431 |
432 | ```java
433 | // add event listener to close button
434 | buttons.btnClose.btn.addActionListener(new EventListener() {
435 | public void actionPerformed(ActionEvent e) {
436 | buttons.btnClose.btn.setEnabled(false);
437 | closeDoor();
438 | }
439 | });
440 | ```
441 |
442 | ```java
443 | //close the door
444 | private void closeDoor() {
445 | while (x < 20) {
446 | x += 1;
447 | this.repaint();
448 | try {
449 | Thread.sleep(10);
450 | } catch (InterruptedException e) {
451 | e.printStackTrace();
452 | }
453 | }
454 | IsOpen = false;
455 | }
456 | ```
457 |
458 |
459 |
460 | ### 外命令处理
461 |
462 | 1. #### **楼层上下行按钮**
463 |
464 | * 用户按下楼层中的上下按钮
465 | * `whichFloorIsWaitUp[]`和`whichFloorIsWaitDown[]`对应楼层设为true表示该层有上行/下行请求
466 |
467 | ```java
468 | // add event listener for up button
469 | button.btn.addActionListener(new EventListener() {
470 | public void actionPerformed(ActionEvent e) {
471 | button.btn.setEnabled(false);
472 | whichFloorIsWaitUp[(button.num + 1)] = true;
473 | System.out.println((button.num + 1) + "层请求上行");
474 | elevators[dispatchAlgorithm(button.num + 1)].toWhichFloor[button.num] = true;
475 | }
476 | });
477 | ```
478 |
479 | ```java
480 | // add event listener for down button
481 | button.btn.addActionListener(new EventListener() {
482 | public void actionPerformed(ActionEvent e) {
483 | button.btn.setEnabled(false);
484 | System.out.println(button.num);
485 | whichFloorIsWaitDown[button.num - 17] = true;
486 | System.out.println((button.num - 17) + "层请求下行");
487 | elevators[dispatchAlgorithm(button.num - 17)].toWhichFloor[button.num - 18] = true;
488 | }
489 | });
490 | ```
491 |
492 | 2. #### **电梯调度**
493 |
494 | 遍历五部电梯,找出在当前任务数情况下,到达此层**路程最短**的电梯,将此请求加入该电梯的请求序列中
495 |
496 | ```java
497 | // dispatch the elevators
498 | public int dispatchAlgorithm(int callFloor, int up) {
499 | int elevatorNum = 0;
500 | int wayLenth[] = { 0, 0, 0, 0, 0 };
501 | for (int j = 0; j < 5; j++) {
502 | int currentY = elevators[j].getMyY();
503 | if (elevators[j].alarm) {
504 | wayLenth[j] += 2000;
505 | } else {
506 | if (elevators[j].IsDown) {
507 | wayLenth[j] += elevators[j].getFarthest() * 2;
508 | // Firstly add the distance it takes to
509 | // run to the farthest destination
510 | // and then back to the current level.
511 | wayLenth[j] += currentY - (600 - 30 * callFloor);
512 | // Plus the journey from the current layer to this layer.
513 | } else if (elevators[j].IsUp) {
514 | wayLenth[j] += elevators[j].getFarthest() * 2;
515 | // Firstly add the distance it takes to
516 | // run to the farthest destination
517 | // and then back to the current level.
518 | wayLenth[j] += (600 - 30 * callFloor) - currentY;
519 | // Plus the journey from the current layer to this layer.
520 | } else {
521 | if (600 - 30 * callFloor >= currentY) {
522 | wayLenth[j] += (600 - 30 * callFloor) - currentY;
523 | } else {
524 | wayLenth[j] += currentY - (600 - 30 * callFloor);
525 | }
526 | }
527 | if ((up == 1) && (this.whichFloorIsWaitDown[callFloor])
528 | && (elevators[j].toWhichFloor[callFloor - 1])) {
529 | wayLenth[j] += 2000;
530 | }else if ((up == 0) && (this.whichFloorIsWaitUp[callFloor])
531 | && (elevators[j].toWhichFloor[callFloor - 1])) {
532 | wayLenth[j] += 2000;
533 | }
534 | if (wayLenth[j] < wayLenth[elevatorNum])
535 | elevatorNum = j;
536 | }
537 | }
538 | return elevatorNum;
539 | }
540 | ```
541 |
542 | ### 动画实现
543 |
544 | 1. #### **开门动画**
545 |
546 | ```java
547 | private void openDoor() {
548 | IsOpen = true;
549 | buttons.btnClose.btn.setEnabled(true);
550 | while (x > 15) {
551 | if (IsRun) {
552 | break;
553 | }
554 | x -= 1;
555 | this.repaint();
556 | try {
557 | Thread.sleep(10);
558 | } catch (InterruptedException e) {
559 | e.printStackTrace();
560 | }
561 | }
562 | }
563 | ```
564 |
565 |
566 |
567 | 2. #### **关门动画**
568 |
569 | ```java
570 | private void closeDoor() {
571 | while (x < 20) {
572 | x += 1;
573 | this.repaint();
574 | try {
575 | Thread.sleep(10);
576 | } catch (InterruptedException e) {
577 | e.printStackTrace();
578 | }
579 | }
580 | IsOpen = false;
581 | }
582 | ```
583 |
584 |
585 |
586 |
587 |
588 | 3. #### **电梯运行动画**
589 |
590 | ```java
591 | while (y > 600 - floor * 30) {
592 | IsUp = true;
593 | IsDown = false;
594 | IsRun = true;
595 | if (alarm) {
596 | return;
597 | }
598 | y -= 1;
599 | this.repaint();
600 | //此处还要检测是否上行过程中经过某些需要停靠的楼层
601 | //但这个部分主要说动画就不将代码放在这里了
602 | try {
603 | Thread.sleep(20);
604 | } catch (InterruptedException e) {
605 | e.printStackTrace();
606 | }
607 | }
608 | while (y < 600 - floor * 30) {
609 | IsDown = true;
610 | IsUp = false;
611 | IsRun = true;
612 | if (alarm) {
613 | return;
614 | }
615 | y += 1;
616 | this.repaint();
617 | try {
618 | Thread.sleep(20);
619 | } catch (InterruptedException e) {
620 | e.printStackTrace();
621 | }
622 | }
623 |
624 |
625 | ```
626 |
627 |
628 |
629 | ## 项目功能截屏展示
630 |
631 | - **报警器功能展示**
632 |
633 | 
634 |
635 | - **开/关门功能展示**
636 |
637 | 
638 |
639 | - **内部指令处理与多线程**
640 |
641 | 
642 |
643 | - **外部指令处理与电梯调度**
644 |
645 | 
646 |
647 | ## 作者
648 |
649 | **姓名:**Kerr
650 |
651 | **联系方式:**kerr99801@gmail.com
--------------------------------------------------------------------------------