I/O 之 文件对象File - java

一、文件的创建

使用File类创建文件对象,通常有三种方式:

File f1=new File(String pathname);  //String pathname指的是路径名字,可以是绝对路径也可以是相对路径

File f2=new File(String parent,String child);   //父路径字符串和子路径字符串

File f3=new File(File fn,String child);   //父路径对象和子路径字符串,File fn需要事先声明

package ...;

public class TestFile {
  
    public static void main(String[] args) {
        // 绝对路径
        File f1 = new File("d:/LOLFolder");

        // 相对路径,相对于工作目录,如果在eclipse中,就是项目目录
        File f2 = new File("LOL.exe");
  
        // 把f1作为父目录创建文件对象
        File f3 = new File(f1, "LOL.exe");
    }
}

二、文件常用方法 java File类|菜鸟教程

我总结为三类方法:

①文件属性

②文件判断

③文件操作

①文件属性(名字、路径、长度、修改时间)

File.getName()  //获取文件名称

File.getAbsolutePath()  //获取文件绝对路径

File.Length()  //获取文件的长度(以字节为单位)

File.lastModified()  //获取文件最后修改时间

②文件判断(是否存在、是否为文件夹、是否为目录)

File.exits()  //判断文件是否存在

File.isFile()  //判断是否是文件夹

File.isDirectory()  //判断是否是目录

③文件操作(改名字、删除文件、创建文件、以字符串数组或者文件数组返回所有文件)

File.renameTo()  //需要先生成另一个文件对象,File f2=new File(...);然后f1.renameTo(f2);

File.list()  //以字符串数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)

File.listFiles()  //以文件数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)

字符串数组:String fa[]=f.list();

文件数组:File fa[]=f.listFiles();

File.delete()  //删除文件

File.mkdirs()  //创建文件夹,如果父文件夹不存在,就会创建父文件夹

File.createNewFile()  //创建一个空文件,如果父文件夹不存在,就会抛出异常

import java.io.File;
 
public class DirList {
    public static void main(String args[]) {
        String dirname = "/java";
        File f1 = new File(dirname);  //即File f1=new File("/java");
        if (f1.isDirectory()) {
            System.out.println("Directory of " + dirname);

            String s[] = f1.list();   //创建字符串数组s[]内含所有文件名
                                      //如果是File fa[]=f1.listFiles(),则文件名包含路径名
            for (int i = 0; i < s.length; i++) {
                File f = new File(dirname + "/" + s[i]);
                if (f.isDirectory()) {
                    System.out.println(s[i] + " is a directory");
                } else {
                    System.out.println(s[i] + " is a file");
                }
            }
        } else {
            System.out.println(dirname + " is not a directory");
        }
    }
}

三、练习

练习①:遍历文件夹

一般说来操作系统都会安装在C盘,所以会有一个 C:\WINDOWS目录。遍历这个目录下所有的文件(不用遍历子目录),找出这些文件里,最大的和最小(非0)的那个文件,打印出他们的文件名。

package file;
   
import java.io.File;
   
public class TestFile {
   
    public static void main(String[] args) {
        File f = new File("c:\\windows");
        File[] fs = f.listFiles();
        if(null==fs)
            return;
        long minSize = Integer.MAX_VALUE;
        long maxSize = 0;
        File minFile = null;
        File maxFile = null;
        for (File file : fs) {
            if(file.isDirectory())
                continue;
            if(file.length()>maxSize){
                maxSize = file.length();
                maxFile = file;
            }
            if(file.length()!=0 && file.length()<minSize){
                minSize = file.length();
                minFile = file;
            }
        }
        System.out.printf("最大的文件是%s,其大小是%,d字节%n",maxFile.getAbsoluteFile(),maxFile.length());
        System.out.printf("最小的文件是%s,其大小是%,d字节%n",minFile.getAbsoluteFile(),minFile.length());
   
    }
}

for(int i:a)解释是:先设置一个与a数组里的元素相同的变量,这个变量先等于a数组的第一个元素,然后进入循环体,第二次循环就等于a数组的第二个元素,进入循环体,以此类推。

continue:继续下一次循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值