(0)获取文件的两种方式
使用File.separator可以实现跨平台的分割符
//方法一
File file1=new File("demo1.txt");
file1.createNewFile();
//方法二
File file2=new File("C:"+File.separator,"text.txt");
file2.createNewFile();
//方法三
File file3=new File("D:"+File.separator,"text2.txt");
file3.createNewFile();
System.out.println("file1:"+file1);
System.out.println("file2:"+file2);
System.out.println("file3:"+file3);
(1)对文件的创建,删除,判断,获取信息,移动,重命名
//文件的创建
File file=new File("demo1.txt");
//文件的删除(成功返回true失败返回false )
System.out.println(file.delete());
//文件在退出的时候删除(主要用于临时文件的删除)
file.deleteOnExit();
//判断
System.out.println(file.exists());//是否存在
System.out.println(file.isFile());//是否是文件
System.out.println(file.isDirectory());//是否是文件夹
System.out.println(file.isHidden());//是否隐藏
System.out.println(file.isAbsolute());//是否是绝对路径
//获取
System.out.println(file.getName());//获取文件名
System.out.println(file.getParent());//获取绝对路径的父级目录,获取相对路径的上级目录
System.out.println(file.getPath());//获取封装的路径
System.out.println(file.getAbsoluteFile());//获取据对路径封装成的文件对象
System.out.println(file.getAbsolutePath());//获取绝对路径的字符创
System.out.println(file.lastModified());//获取最后修改时间
System.out.println(file.length());//获取文件的大小
(2)文件重命名,移动
//实现文件改名
File file1=new File("C:\\demo.txt");
File file2=new File("C:\\demo2.txt");
System.out.println("haha "+file2.renameTo(file1));;
//实现文件的移动
File file3=new File("C:\\demo.txt");
File file4=new File("C:\\demo2.txt");
System.out.println("haha "+file3.renameTo(file4));;
(3)获取列表(盘符列表,获取指定文件夹的目录,获取指定文件夹目录中符合条件的文件名列表,获取指定文件夹目录中符合条件的文件列表)
//获取根目录盘符列表
File[] fileLise=File.listRoots();
for(File file :fileLise)
{
System.out.println(file);
}
//获取指定文件的子文件及以及一级子文件夹]
//使用list时封装的对象必须是已经存在的文件夹
File file5=new File("F:\\test");
file5.mkdir();
String[] fileNames=file5.list();
for(String name :fileNames)
{
System.out.println(name);
}
//获取指定目录下符合自定义条件的文件名列表
File file7=new File("F:\\");
String[] fileList2=file7.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".exe");
}
});
for(String name:fileList2)
{
System.out.println(name);
}
////获取指定目录下符合自定义条件的文件列表
File[] fileList3=file7.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.toString().endsWith(".exe");
}
});
System.out.println("****************");
for(File file:fileList3)
{
System.out.println(file.toString());
}
(4)列出指定文件夹下的所有文件及文件夹(包括子文件里面的内容)【使用递归】
// 获取指定文件夹下的所有文件(包括子文件夹内部的内容)
public static void test() {
File file = new File("F:\\tset");
getdir(file);
}
public static void getdir(File file_s) {
File[] fileLists = file_s.listFiles();
for (File file_1 : fileLists) {
System.out.println(file_1);
if (file_1.isDirectory()) {
getdir(file_1);
}
}
}
public static void main(String[] args) {
test();
}
(4)列出指定文件夹下的所有文件及文件夹(包括子文件里面的内容)【层次】
/**
* 列出指定目录下的所有文件夹及文件(带层次)
*
* @param args
*/
// 获取指定文件夹下的所有文件(包括子文件夹内部的内容)
public static void display() {
File file = new File("F:\\tset");
getdir(file,0);
}
public static void getdir(File file_s,int level) {
level++;
StringBuilder sb=new StringBuilder();
sb.append("|--");
for(int i=1;i<level;i++)
{
sb.insert(0," ");
}
File[] fileLists = file_s.listFiles();
for (File file_1 : fileLists) {
System.out.println(sb.toString()+file_1.getName());
if (file_1.isDirectory()) {
getdir(file_1,level);
}
}
}
public static void main(String[] args) {
display();
}
(5)删除文件及其内容
/** * 删除文件及其内容 * @author Administrator * */ public class Demo5 { public static void deleteDir(File dir) { File[] fileList=dir.listFiles(); for(File file : fileList) { //java无法访问隐藏的目录 if(!file.isHidden()&&file.isDirectory()) deleteDir(file); else System.out.println(file.delete()); } System.out.println(dir.delete()); } public static void main(String[] args) { File file=new File("F:\\tset"); deleteDir(file); } }
(6)将一个指定目录下的java文件的据对路径保存在一个txt中
/** * 将一个指定目录下的java文件的据对路径保存在一个txt中 * @author Administrator * */ public class Test1 { public static void main(String[] args) { BufferedWriter writer=null; try { //创建txt文件 writer =new BufferedWriter(new FileWriter("ttt.txt")); //创建文件 File dir=new File("F:\\text"); findFile(dir,writer); } catch (IOException e) { e.printStackTrace(); }finally{ try { if(writer!=null) writer.close(); } catch (Exception e) { e.printStackTrace(); } } } private static void findFile(File dir ,BufferedWriter bw) throws IOException { File[] fileList=dir.listFiles(); for(File f : fileList) { if(!f.isHidden() && f.isDirectory()) { findFile(f,bw); } else if(f.isAbsolute()){ bw.write(f.getAbsolutePath()); bw.newLine(); } } } }