java写的文件属性显示以及修改属性
java写的文件属性显示
import java.awt.Container;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class shuxing extends JFrame{
protected int input1;
public shuxing()
{
setTitle("文件属性显示");
//窗口的名字
getContentPane().setLayout(null);
setBounds(0,0,400,400);
//设置窗口的大小
Container c =getContentPane();
JButton b1=new JButton("请点击选择一个文件");
b1.setBounds(100, 30, 160, 30);//设置按钮的位置
c.add(b1);
setVisible(true);//窗口可见
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
//设置窗口关闭的方式
//下面为这个按钮的鼠标点击事件
b1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
JFileChooser chooser = new JFileChooser();//创建文件选择器
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);//设置仅能选择文件
chooser.setMultiSelectionEnabled(false);//禁用多重选择
int result = chooser.showOpenDialog(getParent());//获得文件选择器状态
if(result == JFileChooser.APPROVE_OPTION)
{
File file= chooser.getSelectedFile();//获得用户选择的文件
if(file.exists())//如果文件存在则。。。
{
Scanner sc = new Scanner(System.in);//读取控制台上的内容
int input;
String name = file.getName();
long length = file.length();
boolean hidden = file.isHidden();
boolean read = file.canRead();
boolean write = file.canWrite();
String lujing1 = file.getParent();
String lujing2 = file.getAbsolutePath();
long shijian = file.lastModified();
System.out.println("文件名称:"+name);
System.out.println("文件长度是:"+length);
System.out.println("文件是否隐藏:"+hidden);
System.out.println("文件是否可读:"+read);
System.out.println("文件是否可写:"+write);
System.out.println("文件的父路径为:"+lujing1);
System.out.println("文件的绝对路径为:"+lujing2);
System.out.println("文件最后被修改的时间为:"+shijian);
System.out.println("是否要修改文件属性?");
System.out.println("1- 修改");
System.out.println("2 - 不修改");
System.out.println("选择一个数字 : ");
input = sc.nextInt();
switch (input)
{
case 1:
{
int input1;
System.out.println("选择要修改的属性:\n"+"1-可读属性\n"+"2-文件名称\n"+"3-隐藏属性\n");
input1 = sc.nextInt();
switch(input1)
{
case 1:
{
if(read==true)
{
try {
Runtime.getRuntime().exec("attrib"+" "+"-R"+" \""+lujing2+"\"");//启动DOS命令
} catch (IOException e1) {
// TODO 自动生成的 catch 块
e1.printStackTrace();
}
}
break;
}
case 2:
{
renamefile s2;
s2 = new renamefile();
break;
}
case 3:
{
if(hidden ==true)
try {
Runtime.getRuntime().exec("attrib"+" "+"-H"+" \""+lujing2+"\"");//启动DOS命令
} catch (IOException e1) {
// TODO 自动生成的 catch 块
e1.printStackTrace();
}
else
{
try {
Runtime.getRuntime().exec("attrib"+" "+"+H"+" \""+lujing2+"\"");//启动DOS命令
} catch (IOException e1) {
// TODO 自动生成的 catch 块
e1.printStackTrace();
}
System.out.println("隐藏成功");
}
break;
}
}
break;
}
case 2:
{
System.out.println("没有要修改的属性,已退出!");
break;
}
}
}
else
{
System.out.println("文件不存在");
}
textField.setText(file.getAbsolutePath());//更新文本框内容
}
}
});
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
new shuxing();
}
}