File类详解

Posted AnswerTheQuestion

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了File类详解相关的知识,希望对你有一定的参考价值。

一、File类;

File类时io包中唯一代表磁盘文件本身的对象。File类定义了一些与平台无关的方法来操作文件,可以通过调用File类中的方法,实现创建、删除、重命名文件等。

File类的对象主要用来获取文本的一些信息,如文件所在的目录、文件的长度、文件的读取权限等。

1.文件的创建;目录(文件夹)的创建

File(String pathname):在此File的构造方法中填入一个String类型的路径名;实例如下:

String s="d:\\aaa.txt";

File f=new File(s);  或者    File f=new File("d:\\aaa.txt");  

(以上是创建文件(或者目录)对象,对象创建出来了,那么就要开始创建文件(或者目录)了)

f.createNewFile();(创建文件)f.mkdir(创建目录)

(这样文件就被创建出来了,)

2.文件和目录的删除;

同上一样,先创建文件对象,调用该对象的删除方法

f.delete();

package com.inba.maya.liu;

import java.io.File;

public class Text {

    public static void main(String[] args) throws Exception{
        //1.创建文件
        /*
        String fileName="g:\\aaa.txt";
        File f=new File(fileName);
        f.createNewFile();  //此方法建文件
        */
        
        //2.创建目录
        /*
        String dirName="g:\\bbb";
        File f=new File(dirName);
        f.mkdir();  //此方法建文件夹
        */
        
        //3.删除--删文件或目录
        String fileName="g:\\aaa";
        File f=new File(fileName);
        f.delete();
    }
}

3.重命名和移动

package com.inba.maya.liu;
import java.io.File;
public class Text {
    public static void main(String[] args) throws Exception{

        //三、重命名或移动        
        String n1="f:\\bbb.txt";
        String n2="g:\\bbb.txt";
        File f1=new File(n1);
        File f2=new File(n2);
        f1.renameTo(f2);
        //实际上是先移动,后改名        
    }

}

4.列表--把该文件夹下的文件或者子文件找出来:

package com.inba.maya.liu;

import java.io.File;

public class Text {

    public static void main(String[] args) throws Exception{
        
        /*//第一种方式遍历.list

        String dirName="f:\\复刻";
        File f=new File(dirName);
        String[] names=f.list();//出来的是文件对象的数组
        for(int i=0;i<names.length;i++){
            System.out.println(names[i]);//获取文件名,不带路径
        }
        */
        
        //第二种方式遍历File[]
        String dirName="F:\\复刻\\新建文件夹\\";
        File f=new File(dirName);
        File[] files=f.listFiles();
        for(int i=0;i<files.length;i++){
            //String s=files[i].getName();//获取文件名
            //String s=files[i].getPath();//获取文件路径,不写get,默认是getpath
            //System.out.println(s);
            
            File dest=new File(dirName+i+"HHH.txt");
            files[i].renameTo(dest);
        }

    }

}
第二种遍历方式中,没有注释的部分是利用了renameTo方法来批量修改文件名称;
1.首先定义源目录:
String dirName="F:\\复刻\\新建文件夹\\"
2.f.listFiles(),取出的是数组,付给File[]
3.遍历,没循环一次造一个目标文件:File dest=new File(dirName+i+"HHH.txt");
4.files[i].renameTo(dest);把当前文件移动并重命名到目标文件。

5.判断是否是文件或目录或隐藏文件等等(具体查看jdk文档File类)

package com.inba.maya.liu;
import java.io.*;
public class Text1 {
    public static void main(String[] args) throws Exception {        
        String s="c:";
        File f=new File(s);
        File[] files=f.listFiles();
        for(int i=0;i<files.length;i++){
            if(files[i].isDirectory()){
                System.out.print("【目录】");
            }else if(files[i].isHidden()){
                System.out.print("【隐藏文件】");
            }else if(files[i].isFile()){
                System.out.print("【文件】");
            }
            System.out.println(files[i]);
        }
    }
}

 

以上是关于File类详解的主要内容,如果未能解决你的问题,请参考以下文章

Java之文件IO流详解首卷

File类详解

Java—File类详解及实践

08File类详解

Java文件类File详解

JavaIO(01)File类详解