📄 fileusedemo.java
字号:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import java.util.*;
//目录和文件的创建、删除和更名
public class FileUseDemo extends JFrame{
JTextField jtfPath;
public FileUseDemo(){
super("目录和文件的创建、删除和更名"); //调用父类构造函数
jtfPath=new JTextField(16); //实例化文件路径输入框
JButton jbFile=new JButton("选择"); //实例化文件选择按钮
JPanel panel=new JPanel(); //实例化面板,用于容纳输入框和按钮
panel.add(new JLabel("文件名: ")); //增加组件到面板
panel.add(jtfPath);
panel.add(jbFile);
JPanel panel2=new JPanel();
panel2.add(new JButton(new CreateFileAction())); //实例化按钮,并增加到面板2上
panel2.add(new JButton(new RenameFileAction()));
panel2.add(new JButton(new DeleteFileAction()));
panel2.add(new JButton(new ModifyTimeAction()));
jbFile.addActionListener(new ActionListener(){ //选择文件按钮事件处理
public void actionPerformed(ActionEvent event) {
JFileChooser fileChooser=new JFileChooser(); //实例化文件选择器
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); //设置文件选择模式,此处为文件和目录均可
if (fileChooser.showOpenDialog(FileUseDemo.this)==JFileChooser.APPROVE_OPTION){ //弹出文件选择器,并判断是否点击了打开按钮
String fileName=fileChooser.getSelectedFile().getAbsolutePath(); //得到选择文件或目录的绝对路径
jtfPath.setText(fileName);
}
}
});
Container container=getContentPane(); //得到容器
container.add(panel,BorderLayout.NORTH); //增加组件到容器
container.add(panel2,BorderLayout.CENTER);
setSize(330,120); //设置窗口尺寸
setVisible(true); //设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}
class CreateFileAction extends AbstractAction { //创建新文件
public CreateFileAction() {
super("创建"); //调用父类构造函数
}
public void actionPerformed(ActionEvent e) {
String filename=jtfPath.getText(); //从输入框得到文件名
File sfile=new File(filename); //实例化一个文件
try{
if (!sfile.exists()){ //如果文件不存在
if (sfile.createNewFile()==true){ //创建文件成功
showMessage(filename+" 新文件创建成功."); //显示信息
}
else{
showMessage(filename+" 新文件创建失败.");
}
}
else{
showMessage(filename+" 原文件已存在.");
}
}
catch (Exception ex){
ex.printStackTrace(); //打印错误信息
}
}
}
class ModifyTimeAction extends AbstractAction { //创建新文件
public ModifyTimeAction() {
super("修改时间"); //调用父类构造函数
}
public void actionPerformed(ActionEvent e) {
String filename=jtfPath.getText(); //从输入框得到文件名
File sfile=new File(filename); //实例化一个文件
long m_Time = 0;
String filetime = null;
int i_time[] = new int[5];
Calendar cal = Calendar.getInstance();
try{
if (!sfile.exists()){ //如果文件不存在
showMessage("此文件不存在."); //显示信息
}
else{
m_Time = sfile.lastModified();
Date date = new Date(m_Time);
showMessage("现在的修改时间:"+date.toString());
filetime=JOptionPane.showInputDialog("输入新时间:格式 yyyy-mm-dd-tt-ss");
String s_time[] = filetime.split("-",7);
for(int i=0;i<s_time.length;i++){
i_time[i] = Integer.parseInt(s_time[i]);
}
cal.set(i_time[0],i_time[1]-1,i_time[2],i_time[3],i_time[4]);
m_Time = cal. getTimeInMillis();
sfile.setLastModified(m_Time);
date = new Date(sfile.lastModified());
showMessage("修改后时间为"+date.toString());
}
}
catch (Exception ex){
ex.printStackTrace(); //打印错误信息
}
}
}
class RenameFileAction extends AbstractAction { //重命名文件
public RenameFileAction() {
super("重命名");
}
public void actionPerformed(ActionEvent e) {
String filename=JOptionPane.showInputDialog("输入新文件名"); //输入新文件名对话框
File sfile=new File(jtfPath.getText()); //源文件
File f=new File(filename); //新文件
sfile.renameTo(f); //重命名
showMessage(sfile.getName()+" 重命名成功."); //显示信息
jtfPath.setText(f.getAbsolutePath()); //更新输入框的文件名
}
}
class DeleteFileAction extends AbstractAction { //删除文件
public DeleteFileAction() {
super("删除");
}
public void actionPerformed(ActionEvent e) {
File sfile=new File(jtfPath.getText()); //源文件
try{
sfile.delete(); //删除文件
showMessage(sfile.getName()+" 删除成功."); //显示信息
}
catch(Exception ex){
showMessage(sfile.getName()+" 删除失败.");
ex.printStackTrace();
}
}
}
private void showMessage(String message){
JOptionPane.showMessageDialog(FileUseDemo.this,message); //显示信息
}
public static void main(String[] args){
new FileUseDemo();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -