java 对文件的基本操作
程序员文章站
2022-05-15 08:48:05
...
package Main;
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.sql.Date;
import javax.swing.JFileChooser;
import javax.swing.UIManager;
import javax.swing.filechooser.FileNameExtensionFilter;
public class Main {
public static void main(String[] args) throws IOException {
final String path = "C:\\Users\\Administrator\\Desktop";
/*改变FileChooer的风格,改为windows下的风格*/
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
/*选定文件进行操作*/
JFileChooser fileChooser = new JFileChooser(new File(path));
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); //让fileChooser 可以选择文件和文件夹
/*加过滤器*/
FileNameExtensionFilter filter = new FileNameExtensionFilter("*.log*", "log"); //此方法不过滤文件夹
fileChooser.setFileFilter(filter);
/*也可以用以下方法加过滤器(自定义)*/
fileChooser.setFileFilter(new MyFilter()); //此方法可以过滤文件夹
/*显示对话框*/
fileChooser.showOpenDialog(null);
/* 获得选择的文件 if 点击了取消,则:file = null*/
File file = fileChooser.getSelectedFile();
if(file == null){
System.err.println("用户未选择文件,程序强制退出!");
System.exit(0);
}
/*对文件的基本操作*/
System.out.println("文件是否存在:" + file.exists());
System.out.println("是否是文件:" + file.isFile());
System.out.println("是否是文件夹" + file.isDirectory());
System.out.println("文件夹/文件名称:" + file.getName());
System.out.println("文件夹/文件绝对路径:" + file.getAbsolutePath());
System.out.println("文件夹/文件的最后修改时间:" + new Date(file.lastModified()).toLocaleString());
System.out.println("文件夹/文件所占大小" + (double)file.length() / 1024 + "KB");
System.out.println("是否可读:" + file.canRead());
System.out.println("是否可写:" + file.canWrite());
System.out.println("是否隐藏:" + file.isHidden());
if(!file.exists()){
//System.out.println("USB is not exist!");
System.err.println("文件不存在,程序强制退出!");
System.exit(0);
}
/*打印指定目录下的所有文件*/
if(file.isDirectory()){
String[] fileName = file.list();
//String[] fileName = file.list(new Dir_NameFilter()); //可加文件名过滤器
for(int i=0; i<fileName.length; i++){
System.out.println(fileName[i]);
}
}
/*如果是文件,则打开此文件(暂待完成)*/
if(file.isFile()){
System.out.println("打开文件:" + file.getName());
}
}
}
/*文件名过滤器*/
class Dir_NameFilter implements FilenameFilter{
public boolean accept(File dir, String name) {
if(name.endsWith("log") || name.endsWith("project"))
return true;
return false;
}
}
class MyFilter extends javax.swing.filechooser.FileFilter{
/*自定义FileChooser文件框中出现的文件类型*/
public boolean accept(File f) {
//过滤出以"."开头和以"exe"结尾的文件,也可选择是否过滤文件夹
if(f.getName().endsWith("exe") || f.getName().startsWith(".")){
return true;
}
return false;
}
/* 在FileChooser显示的此过滤器过滤的文件类型*/
public String getDescription() {
return "*exe*";
}
}
上一篇: java中对文件的操作
下一篇: java 对文件的操作