资源简介

设计一个简单的文件系统,用文件模拟磁盘,用数组模拟缓冲区,要求: (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.xml
     目录           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\Mainframe$1.class
     文件         795  2015-12-14 17:29  file\build\classes\viewer\Mainframe$2.class
     文件        3514  2015-12-14 17:29  file\build\classes\viewer\Mainframe$3.class
     文件        1719  2015-12-14 17:29  file\build\classes\viewer\Mainframe$4.class
     文件        1126  2015-12-14 17:29  file\build\classes\viewer\Mainframe$5.class
     文件        2333  2015-12-14 17:29  file\build\classes\viewer\Mainframe$Tree$1.class
     文件        4761  2015-12-14 17:29  file\build\classes\viewer\Mainframe$Tree$2.class
     文件        1475  2015-12-14 17:29  file\build\classes\viewer\Mainframe$Tree$3.class
     文件        2034  2015-12-14 17:29  file\build\classes\viewer\Mainframe$Tree$4.class
............此处省略91个文件信息

评论

共有 条评论