操作系统课程设计为LINUX设计一个简单的二级文件系统Word文件下载.docx
《操作系统课程设计为LINUX设计一个简单的二级文件系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《操作系统课程设计为LINUX设计一个简单的二级文件系统Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。
要求做到以下几点:
1、可以实现下列几条命令(至少4条)
用户登录Login
列文件目录Dir
创建文件Create
删除文件Delete
打开文件Open
关闭文件2、列目录时要列出文件名、物理地址、Close
读文件保护码和文件长度。
Read
写文件3、源文件可以进行读写保护。
Write
时间安排:
1月17日布置课程设计任务;
分配题目后,查阅资料、准备程序;
1月18日,1月20日上机调试程序、书写课程设计报告;
1月21日上午提交课程设计报告及相关文档。
地点:
学校机房(具体见现代教育中心大屏幕安排)
具体要求:
1、课程设计报告按统一通用格式书写,具体格式要求请在网络上查阅2、每位学生应独立完成各自的任务且每天至少在设计室工作半天
指导教师签名:
11年1月7日
教研室主任(或责任教师)签名:
11年1月7日1.实现原理
首先~实现Login用户登录~,用户名:
zhaoran密码:
1234,必须登录成功才能进入文件系统进行查看~进入后~通过树状展示文件目录,默认文件目录
是C:
\ProgramFiles,,右侧显示文件夹图标或者文件图标~选中节点鼠标右击弹出菜单~有新建目录~新建文件~删除文件~打开文件~属性菜单项~并分别实现其功能。
2.开发环境
开发工具MyEclipse7.0
开发语言Java
3.关键算法实现流程图
3.1流程图
登陆
账号错
误
验证账号
密码账号正确
右键选择操作
新建目录新建文件删除打开属性
结束
3.2具体算法代码
3.2.1登陆模块
publicclassLoginextendsJFrame{
privatestaticfinallongserialVersionUID=1L;
privateJPaneljContentPane=null;
privateJLabeljLabel1=null;
privateJLabeljLabel2=null;
privateJLabeljLabel=null;
privateJTextFieldjTextField1=null;
privateJPasswordFieldjPasswordField=null;
privateJButtonjButton1=null;
privateJButtonjButton2=null;
privateJTextFieldgetJTextField1(){
if(jTextField1==null){
jTextField1=newJTextField();
jTextField1.setPreferredSize(newDimension(10,25));
jTextField1.setBounds(newRectangle(183,59,169,30));
}
returnjTextField1;
privateJPasswordFieldgetJPasswordField(){
if(jPasswordField==null){
jPasswordField=newJPasswordField();
jPasswordField.setBounds(newRectangle(183,99,169,30));
jPasswordField.addKeyListener(new
java.awt.event.KeyAdapter(){
publicvoidkeyPressed(java.awt.event.KeyEvente){
if(e.getKeyChar()==KeyEvent.VK_ENTER){
test();
});
returnjPasswordField;
publicstaticvoidmain(String[]args){
SwingUtilities.invokeLater(newRunnable(){
publicvoidrun(){
LoginthisClass=newLogin();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
publicLogin(){
super();
initialize();
privatevoidinitialize(){
this.setSize(400,250);
Dimensiond=Toolkit.getDefaultToolkit().getScreenSize();
Dimensionfsize=this.getSize();
this.setLocation((d.width-fsize.width)/2,
(d.height-fsize.height)/2);
this.setContentPane(getJContentPane());
this.setTitle("
二级文件系统"
);
privateJButtongetJButton2(){
if(jButton2==null){
jButton2=newJButton();
jButton2.setBounds(newRectangle(218,167,90,32));
"
jButton2.setText("
取消
jButton2.addActionListener(new
java.awt.event.ActionListener(){
publicvoidactionPerformed(java.awt.event.ActionEvente)
{
System.exit(0);
returnjButton2;
privateJPanelgetJContentPane(){
if(jContentPane==null){
jLabel=newJLabel();
jLabel.setText("
密码:
jLabel.setHorizontalAlignment(SwingConstants.CENTER);
jLabel.setBounds(newRectangle(27,101,132,29));
jLabel2=newJLabel();
jLabel2.setText("
用户名:
jLabel2.setBounds(newRectangle(27,59,133,29));
jLabel2.setHorizontalAlignment(SwingConstants.CENTER);
jLabel2.setPreferredSize(newDimension(10,15));
jLabel1=newJLabel();
jLabel1.setText("
登陆界面"
jLabel1.setFont(newFont("
\u534e\u6587\u5b8b\u4f53"
Font.BOLD,24));
jLabel1.setBounds(newRectangle(0,0,389,32));
jLabel1.setForeground(newColor(255,0,54));
jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
jContentPane=newJPanel();
jContentPane.setLayout(null);
jContentPane.add(jLabel1,null);
jContentPane.add(jLabel2,null);
jContentPane.add(jLabel,null);
jContentPane.add(getJTextField1(),null);
jContentPane.add(getJPasswordField(),null);
jContentPane.add(getJButton1(),null);
jContentPane.add(getJButton2(),null);
returnjContentPane;
privateJButtongetJButton1(){
if(jButton1==null){
jButton1=newJButton();
jButton1.setBounds(newRectangle(79,168,84,33));
jButton1.setText("
确定"
jButton1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
returnjButton1;
publicvoidtest(){
if(jTextField1.getText().equals("
zhaoran"
)&
&
String.valueOf(jPasswordField.getPassword()).equals("
1234"
)){
Stringaa[]={"
aa"
"
bb"
};
Contents.main(aa);
setVisible(false);
else{
JOptionPane.showMessageDialog(Login.this,"
输入错误~~请重新输入~"
3.2.2新建文件目录
privateclassnewMenuActionimplementsActionListener{
publicvoidactionPerformed(ActionEventarg0){
try{
StringName=JOptionPane.showInputDialog("
创建目录名称:
if(!
Name.equals("
)){
TreePathpath