文件管理模拟实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文件管理模拟实验
实验内容:
(1)编写程序,实现文件和目录的复制、删除、移动、重命名等操作;(2)编写程序,读取并显示文件的属性,修改文件的属性;
一、流程图:
二、源代码:
Main.java
package com.file_operate;
import java.util.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
public class Main extends JFrame implements ActionListener
{
private JButton b1, b2, b3, b4, b5;
private JTextArea area;
private JPanel p1;
public Main()
{
p1 = new JPanel();
b1 = new JButton("复制");
b2 = new JButton("删除");
b3 = new JButton("另存为");
b4 = new JButton("重命名");
b5 = new JButton("查看文件属性");
area = new JTextArea();
this.init();
}
public void init()
{
p1.add(b1);
p1.add(b2);
p1.add(b3);
p1.add(b4);
p1.add(b5);
this.add(p1, "North");
this.add(area, "Center");
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
}
public void showMe()
{
this.setTitle("文件操作");
this.setVisible(true);
this.setSize(500, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == b1)
{
new copy();
} else if (e.getSource() == b2)
{
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(this);
File file = chooser.getSelectedFile();
file.delete();
JOptionPane.showMessageDialog(null, "删除成功");
} else if (e.getSource() == b3)
{
new move();
} else if (e.getSource() == b4)
{
new rename();
} else if (e.getSource() == b5)
{
JFileChooser jfc = new JFileChooser();
jfc.showOpenDialog(this);
File file = jfc.getSelectedFile();
Long date = stModified();
area.append("该文件名称为:" + file.getName() + "\n");
try
{
area.append("该文件的绝对路径为:" + file.getCanonicalFile() + "\n");
area.append("该文件的相对路径为:" + file.getAbsolutePath() + "\n");
if (date != 0)
{
area.append("该文件的最后修改日期为:" + new Date(date) + "\n");
}
area.append("该文件的长度为:" + file.length() + "\n");
area.append("该文件的可读性:" + file.canRead() + "\n");
area.append("该文件的可写性:" + file.canWrite() + "\n");
} catch (IOException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
public static void main(String args[])
{
new Main().showMe();
}
}
Rename.java:
package com.file_operate;
import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.awt.event.*;
public class rename extends JFrame
{
private JTextField txt1;
private JButton b1;
private JLabel lab;
private JPanel p1, p2;
public rename()
{
txt1 = new JTextField(10);
b1 = new JButton("重命名");
lab = new JLabel("源文件");
p1 = new JPanel();
p2 = new JPanel();
this.init();
}
public void init()
{
p1.add(lab);
p1.add(txt1);
p2.add(b1);
setSize(300, 300);
setVisible(true);
this.add(p1, "North");
this.add(p2, "Center");
b1.addActionListener(new ActionListener()