File类
package demo;
import java.io.File;
import java.io.IOException;
import java.util.Date;
/**
* File类使用
* 1. 分隔符
* 2. 文件操作
* 3. 文件夹操作
*/
public class filetest {
public static void main(String[] args) throws Exception{
seaparator();
fileOpe();
}
// 1. 分隔符
public static void seaparator(){
System.out.println("路径分隔符"+ File.pathSeparator);
System.out.println("名称分隔符"+File.separator);
}
// 2.文件操作
public static void fileOpe() throws Exception {
// 1 创建文件
File file = new File("d:\\file.txt"); //只是创建了文件对象
if (!file.exists()){ //如果文件不存在 file.exists()文件存在取反
boolean newFile = file.createNewFile(); //反馈文件是否创建成功
System.out.println("创建结果"+newFile);
}
//3.删除文件
//直接删除
System.out.println("删除结果"+file.delete());
//jvm退出时删除
file.deleteOnExit();
Thread.sleep(5000); //休眠
// 3. 文件信息
System.out.println("获取的文件路径"+file.getAbsolutePath());
System.out.println("获取路径"+file.getPath());
System.out.println("获取我呢金名称"+file.getName());
System.out.println("获取夫目录"+file.getParent());
System.out.println("获取文件长度"+file.length());
System.out.println("文件创建时间"+ new Date(file.lastModified()).toLocaleString());
String fileName = file.getName();
String suffix = fileName.substring(fileName.lastIndexOf(".") + 1);
String frist = fileName.substring(0,fileName.lastIndexOf("."));
System.out.println("文件前缀名"+frist);
System.out.println("文件后缀名"+suffix);
// 4. 是否可写
System.out.println("是否可写"+file.canWrite());
System.out.println("是否是文件"+file.isFile());
System.out.println("是否隐藏"+file.isHidden());
}
}
文件夹操作
public static void filesOpe(){
// 其他操作与文件操作类似
// 遍历文件夹
File dri = new File("d:\\java");
String[] files = dri.list();
System.out.println("__________________________________________");
for (String string : files){
System.out.println(string);
}
}
FileFilter接口
dri.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
if (pathname.getName().endsWith(".jpg")){
return true;
}else {
return false;
}
}
});
递归遍历和递归删除
package demo;
import java.io.File;
/**
* 遍历递归
*/
public class listdemo {
public static void main(String[] args) {
listDir(new File("d:\\java"));
}
public static void listDir(File dir){
File[] files = dir.listFiles();
System.out.println(dir.getAbsolutePath());
if (files!=null&&files.length>0){
for (File file : files){
if (file.isDirectory()){
listDir(file);
}else {
System.out.println(file.getAbsolutePath());
}
}
}
}
}
递归删除文件夹
// 递归删除文件夹
public static void delet( File dir){
File[] files = dir.listFiles();
System.out.println(dir.getAbsolutePath());
if (files!=null&&files.length>0){
for (File file : files){
if (file.isDirectory()){
listDir(file);
}else {
System.out.println(file.getAbsolutePath());
System.out.println(file.delete()); //删除文件里的内容
}
}
}
System.out.println(dir.delete()); //删除文件夹
}