File类

Posted hesper

tags:

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

File类

java.io.File类代表文件和目录, 在开发中, 读取文件, 生成文件, 删除文件, 修改文件的属性时经常用到此类
File类常见构造方法: public File(String pathname), 以pathname为路径创建File对象, 如果pathname是相对路径, 则默认的当前路径在系统属性user.dir中存储
在eclipse项目开发中, user.dir就是本项目的目录. 因此, 执行完毕后, 在本项目和D盘下都生成了新文件(如果是eclipse下, 需用按F5刷新目录结构才能看到新文件)

方法 说明
public boolean exits() 判断File是否存在
public boolean isDirectory() 判断File是否是目录
public boolean isFile() 判断File是否是文件
public long lastModified() 返回File最后修改时间
public long length() 返回File大小
public String getName() 返回文件名
public String getPath() 返回文件的目录路径
createNewFile() 创建新的File
delete() 删除目录或文件
mkdir() 创建一个目录, 中间某个目录缺失, 则创建失败
mkdirs() 创建多个目录, 中间某个目录缺失, 则创建缺失目录
/**********************示例程序***************************/
import java.io.File;
import java.io.IOException;
import java.util.Date;

public static void main(String[] args) throws IOException {
//  File f1 = new File("d:/a.txt"); // 使用斜杠反斜杠都可以
    File f1 = new File("d:\a.txt");    // 两个反斜杠其中有一个是脱字符
    System.out.println(f1);
    f1.renameTo(new File("d:/bb.txt"));
    
    File f2 = new File("gg.txt");
//  f2.createNewFile();     //创建文件
    
    System.out.println("f2是否存在: " + f2.exists());
    System.out.println("f2是否是目录: " + f2.isDirectory());
// 把f2.createNewFile();注释掉则没有文件生成, 所有返回false    
    System.out.println("f2是否是文件: " + f2.isFile());
    System.out.println("f2最后修改时间: " + new Date(f2.lastModified()));
    System.out.println("f2的大小: " + f2.length());
    System.out.println("f2的文件名: " + f2.getName());
    System.out.println("f2的工程目录: " + System.getProperty("user.dir"));
    System.out.println("f2的目录路径: " + f2.getPath());
    System.out.println("f1的目录路径: " + f1.getPath());
}

/*
d:a.txt
f2是否存在: false
f2是否是目录: false
f2是否是文件: false
f2最后修改时间: Thu Jan 01 08:00:00 CST 1970
f2的大小: 0
f2的文件名: gg.txt
f2的工程目录: G:eclipse-workspacePro-1
f2的目录路径: gg.txt
f1的目录路径: d:a.txt
*/
/**************创建文件与目录示例程序****************/
import java.io.File;
import java.io.IOException;

public static void main(String[] args) throws IOException {
    File f = new File("d:/c.txt");
    f.createNewFile();
    
    f.renameTo(new File("d:/g.out"));
    // 删除不了重命名后的文件  
    f.delete(); 
    
    File f2 = new File("d:/电影/华语/大陆");
    boolean flag = f2.mkdir();
    System.out.println(flag);
    
    // 可删除目录与文件
//  f2.delete();
    boolean flag2 = f2.mkdirs();
    System.out.println(flag2);
}

/*
false
true
*/
/*************File类应用*****************/
import java.io.File;
import java.io.IOException

public static void main(String[] args) {
    File file = new File("d:/zyb/b.txt");
    
    // 判断该文件是否存在
    boolean flag = file.exists();
    
    // 如果存在则删除, 不存在则创建
    if(flag) {
        // 删除
        boolean flagd = file.delete();
        if(flagd) {
            System.out.println("删除成功");
        }
        else {
            // 没有删除zyb目录
            System.out.println("删除失败");
        }
    }
    else {
        // 创建
        boolean flagn = true;
        try {
            File dir = file.getParentFile();
        
        dir.mkdirs();
        // 创建文件
        flagn = file.createNewFile();
        System.out.println("创建成功");
        }
        catch (IOException e) {
            System.out.println("创建失败");
            e.printStackTrace();
        }
    }
    
}

/*
创建成功
*/

待续

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

这些 C++ 代码片段有啥作用?

php代码片段: sendFile/videoStream/sendEmail/phpexcel/ffmpeg/zip

[异常解决] Make nRF51 DFU Project Appear "fatal error: uECC.h: No such file or directory"(代码片段

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

解决go: go.mod file not found in current directory or any parent directory; see ‘go help modules‘(代码片段

pycharm添加Odoo代码片段