资源简介
了解磁盘文件系统的结构、功能和实现。并可练习合作完成系统的团队精神和提高程序设计能力。
设计一个简单的文件系统,用文件模拟磁盘,用数组模拟缓冲区,要求:
(1) 支持多级目录结构,支持文件的绝对读路径;
(2) 文件的逻辑结构采用流式结构,物理结构采用链接结构中的显式链接方式;
(3) 采用文件分配表 FAT;
(4) 实现的命令包括建立目录、列目录、删除空目录、建立文件、删除文件、显示文件内容、打开文件、读文件、写文件、关闭文件、改变文件属性。
(5) 最后编写主函数对所作工作进行测试。
代码片段和文件信息
package com.csh.filesystem.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 com.csh.filesystem.model.Disk;
import com.csh.filesystem.model.File;
import com.csh.filesystem.model.Folder;
import com.csh.filesystem.util.FileSystemUtil;
import com.csh.filesystem.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));
//
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 301 2014-09-26 18:41 FileSystem\.classpath
文件 388 2014-09-26 12:36 FileSystem\.project
文件 91 2014-09-18 16:36 FileSystem\.settings\org.eclipse.core.resources.prefs
文件 598 2014-09-14 16:27 FileSystem\.settings\org.eclipse.jdt.core.prefs
文件 782 2014-10-17 10:13 FileSystem\bin\com\csh\filesystem\exception\FileSystemException.class
文件 644 2014-10-17 10:13 FileSystem\bin\com\csh\filesystem\model\Disk.class
文件 1011 2014-10-25 18:40 FileSystem\bin\com\csh\filesystem\model\FAT.class
文件 3346 2014-10-17 10:13 FileSystem\bin\com\csh\filesystem\model\File.class
文件 3270 2014-10-17 10:13 FileSystem\bin\com\csh\filesystem\model\Folder.class
文件 1270 2014-10-17 10:13 FileSystem\bin\com\csh\filesystem\model\OpenFile.class
文件 1488 2014-10-17 10:13 FileSystem\bin\com\csh\filesystem\model\OpenFiles.class
文件 677 2014-10-17 10:13 FileSystem\bin\com\csh\filesystem\model\Pointer.class
文件 9380 2014-10-26 20:00 FileSystem\bin\com\csh\filesystem\service\FATService.class
文件 1368 2014-10-17 10:13 FileSystem\bin\com\csh\filesystem\util\FileSystemUtil.class
文件 971 2014-10-17 10:13 FileSystem\bin\com\csh\filesystem\util\MessageUtil.class
文件 1834 2014-10-17 10:13 FileSystem\bin\com\csh\filesystem\viewer\HelpDialog.class
文件 1772 2014-10-24 12:44 FileSystem\bin\com\csh\filesystem\viewer\JieShao.class
文件 916 2014-10-27 14:55 FileSystem\bin\com\csh\filesystem\viewer\Mainfr
文件 1241 2014-10-27 14:55 FileSystem\bin\com\csh\filesystem\viewer\Mainfr
文件 2604 2014-10-27 14:55 FileSystem\bin\com\csh\filesystem\viewer\Mainfr
文件 5705 2014-10-27 14:55 FileSystem\bin\com\csh\filesystem\viewer\Mainfr
文件 1592 2014-10-27 14:55 FileSystem\bin\com\csh\filesystem\viewer\Mainfr
文件 2420 2014-10-27 14:55 FileSystem\bin\com\csh\filesystem\viewer\Mainfr
文件 3492 2014-10-27 14:55 FileSystem\bin\com\csh\filesystem\viewer\Mainfr
文件 4003 2014-10-27 14:55 FileSystem\bin\com\csh\filesystem\viewer\Mainfr
文件 2744 2014-10-27 14:55 FileSystem\bin\com\csh\filesystem\viewer\Mainfr
文件 2727 2014-10-27 14:55 FileSystem\bin\com\csh\filesystem\viewer\Mainfr
文件 1573 2014-10-27 14:55 FileSystem\bin\com\csh\filesystem\viewer\Mainfr
文件 7025 2014-10-27 14:55 FileSystem\bin\com\csh\filesystem\viewer\Mainfr
文件 7005 2014-10-27 14:55 FileSystem\bin\com\csh\filesystem\viewer\Mainfr
............此处省略80个文件信息
评论
共有 条评论