资源简介
设计一个简单的文件系统,用文件模拟磁盘,用数组模拟缓冲区,要求:
(1) 支持多级目录结构,支持文件的绝对读路径;
(2) 文件的逻辑结构采用流式结构,物理结构采用链接结构中的显式链接方式;
(3) 采用文件分配表 FAT;
(4) 实现的命令包括建立目录、列目录、删除空目录、建立文件、删除文件、显示
文件内容、打开文件、读文件、写文件、关闭文件、改变文件属性。
(5) 最后编写主函数对所作工作进行测试。
代码片段和文件信息
package viewer;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.BoxLayout;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTextPane;
import javax.swing.JTree;
import javax.swing.SwingConstants;
import javax.swing.tree.DefaultMutableTreeNode;
import model.Disk;
import model.File;
import model.Folder;
import util.FileSystemUtil;
import util.MessageUtil;
public class Tree extends JPanel {
private static final long serialVersionUID = 2352829445429133249L;
private JTree tree;
private JScrollPane jsp1 jsp2;
private JSplitPane jsp;
private JPanel jp1;
private JLabel jl jl2 jl3 jl4;
private JLabel[] jLabel;
private JList middle;
private Mainframe mainframe;
public Tree() {
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode(new Disk(“C“));
jp1 = new JPanel();
tree = new JTree(node1);
jsp1 = new JScrollPane(tree);
jp1.setLayout(new FlowLayout(FlowLayout.LEFT));
jp1.setBackground(Color.white);
final int n = 101;
jp1.setPreferredSize(new Dimension(482 FileSystemUtil.getHeight(n)));
jLabel = new JLabel[n];
for (int i=0; i jLabel[i] = new MyJLabel(true “文件“ +i);
jp1.add(jLabel[i]);
jLabel[i].addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
// jl.setIcon(new ImageIcon(FileSystemUtil.file1Path));
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
//jl.setIcon(new ImageIcon(FileSystemUtil.filePath));
for (int j=0; j if (e.getSource() == jLabel[j]){
jLabel[j].setIcon(new ImageIcon(FileSystemUtil.filePath));
}
}
}
@Override
public void mouseEntered(MouseEvent e) {
for (int j=0; j if (e.getSource() == jLabel[j]){
jLabel[j].setIcon(new ImageIcon(FileSystemUtil.file1Path));
}
}
}
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
if (e.getClickCount() == 2){
MessageUtil.showMgs(jsp2 “哈哈~逗你玩“);
}
}
});
}
jsp2 = new JScrollPane(jp1);
jsp2.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
jsp2.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jsp2.setPreferredSize(new Dimension(482 515));
// jsp2.setSize(482 515);
jsp2.setBackground(Color.white);
jsp2.setViewportView(jp1);
jsp1.setPreferredSiz
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3597 2015-12-08 19:29 file\build.xm
目录 0 2015-12-14 17:30 file\build\
文件 113 2015-12-14 17:29 file\build\built-jar.properties
目录 0 2015-12-14 17:29 file\build\classes\
目录 0 2015-12-14 17:29 file\build\classes\exception\
文件 744 2015-12-14 17:29 file\build\classes\exception\FileSystemException.class
目录 0 2015-12-14 17:29 file\build\classes\model\
文件 606 2015-12-14 17:29 file\build\classes\model\Disk.class
文件 973 2015-12-14 17:29 file\build\classes\model\FAT.class
文件 3286 2015-12-14 17:29 file\build\classes\model\File.class
文件 3229 2015-12-14 17:29 file\build\classes\model\Folder.class
文件 1118 2015-12-14 17:29 file\build\classes\model\OpenFile.class
文件 1336 2015-12-14 17:29 file\build\classes\model\OpenFiles.class
文件 639 2015-12-14 17:29 file\build\classes\model\Pointer.class
目录 0 2015-12-14 17:29 file\build\classes\service\
文件 11203 2015-12-14 17:29 file\build\classes\service\FATService.class
目录 0 2015-12-14 17:29 file\build\classes\util\
文件 1312 2015-12-14 17:29 file\build\classes\util\FileSystemUtil.class
文件 933 2015-12-14 17:29 file\build\classes\util\MessageUtil.class
目录 0 2015-12-14 17:30 file\build\classes\viewer\
文件 1909 2015-12-14 17:29 file\build\classes\viewer\HelpDialog.class
文件 1491 2015-12-14 17:29 file\build\classes\viewer\JieShao.class
文件 792 2015-12-14 17:29 file\build\classes\viewer\Mainfr
文件 795 2015-12-14 17:29 file\build\classes\viewer\Mainfr
文件 3514 2015-12-14 17:29 file\build\classes\viewer\Mainfr
文件 1719 2015-12-14 17:29 file\build\classes\viewer\Mainfr
文件 1126 2015-12-14 17:29 file\build\classes\viewer\Mainfr
文件 2333 2015-12-14 17:29 file\build\classes\viewer\Mainfr
文件 4761 2015-12-14 17:29 file\build\classes\viewer\Mainfr
文件 1475 2015-12-14 17:29 file\build\classes\viewer\Mainfr
文件 2034 2015-12-14 17:29 file\build\classes\viewer\Mainfr
............此处省略91个文件信息
相关资源
- 操作系统课程设计页面置换算法
- 微机原理课程设计_电子密码锁
- UML建模课程设计
- 操作系统课程设计报告-建立基于磁盘
- 数据仓库与数据挖掘课程设计
- 广工计算机图形课程设计2015
- 北邮编译原理课程设计
- 454656数据结构《家族关系查询系统》
- 网络课程设计
- 软件工程课程设计--学生选课系统.
- 链表多项式的加法与乘法设计报告
- 乐曲程序的设计与实现
- 数字电子钟
- 模电课程设计
- 北京邮电大学操作系统实验实验报告
- 微机课程设计电风扇设计
- 毕业论文形式 银行家算法课程设计实
- 微机原理课程设计--电子琴
- 安徽大学操作系统复习资料
- 数据结构课程设计 哈夫曼编码的数据
- 病房床位呼叫器设计+数电课程设计
- dos2unixforWindows
- 串联文件,连续文件的存储模拟
- 计算机网络课程设计——小型网络设
- 高频电子线路课程设计调接收机设计
- 北京大学-操作系统原理视频教程.tx
- 机械专业课程设计三爪卡盘的设计
- 计算机网络课程设计含报告.
- 定时器 数字电路课程设计 报告
- 双工对讲机的设计 模电课程设计
评论
共有 条评论