【java】之File类

简介: 【java】之File类

File
它是文件和目录路径名的抽象文件

文件和目录可以通过File封装成对象的,封装的并非是文件而是路径名

构造方法
构造方法 说明
File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的File实例
File(String parent,String child) 从父路径名字符串和子路径名字符串创建新的File实例
File(File parent,String chiled) 从父抽象路径名和子路径名字符串创建新的File实例
File(String pathname)
代码

**package itcast;

import java.io.File;

public class FileDemo1{

public static void main(String[] args) {
    File f1=new File("D:\\itcast\\java.txt");
    System.out.println(f1);
}

}**
执行结果
image.png

**
File(String parent,String child)**
代码

package itcast;
 
import java.io.File;
 
public class FileDemo1{
 
    public static void main(String[] args) {
        File f1=new File("D:\\itcast\\java.txt");
        System.out.println(f1);
        File f2=new File("D:\\itcast","java.txt");
        System.out.println(f2);
    }
}

执行结果
image.png

File(File parent,String chiled)
代码

package itcast;
 
import java.io.File;
 
public class FileDemo1{
 
    public static void main(String[] args) {
        File f1=new File("D:\\itcast\\java.txt");
        System.out.println(f1);
        File f2=new File("D:\\itcast","java.txt");
        System.out.println(f2);
        File f3=new File("D:\\itcast");
        File f4=new File(f3,"java.txt");
        System.out.println(f4);
    }
}

执行结果
image.png

创建文件和目录
public boolean creatNewFile()
创建一个由该抽象路径名命名的新空文件,文件不存在返回true,存在返回false

代码

package itcast;
 
import java.io.File;
import java.io.IOException;
 
public class FileDemo1{
 
    public static void main(String[] args) throws IOException {
        File f1=new File("D:\\itcast\\java.txt");
        System.out.println(f1.createNewFile());
    }
}

执行结果
image.png

image.png

**
public boolean mkdir()**
创建由此抽象路径名命名的目录,目录不存在返回true,存在返回false

代码

package itcast;
 
import java.io.File;
import java.io.IOException;
 
public class FileDemo1{
 
    public static void main(String[] args) throws IOException {
        File f1=new File("D:\\itcast\\JavaSE");
        System.out.println(f1.mkdir());
    }
}

执行结果
image.png
image.png

public boolean mkdirs()
创建由此抽象路径名命名的目录,包括任何必须但不存在的父目录

目录,文件一起创建

代码

package itcast;
 
import java.io.File;
import java.io.IOException;
 
public class FileDemo1{
 
    public static void main(String[] args) throws IOException {
        File f1=new File("D:\\itcast\\JavaWeb\\HTML");
        System.out.println(f1.mkdirs());
    }
}

执行结果
image.png

判断和获取文件
方法名 说明
public boolean isDirectory() 判断是否为目录
public boolean isFile() 判断是否为文件
public boolean exists() 判断文件是否存在
public String getAbsolutePath() 返回抽象路径名的绝对路径名字符串
public String getPath() 将此抽象路径名转换为路径名字符串
public String getName() 返回此抽象路径名的文件或目录名称
public String[] list() 返回此抽象路径名的目录中的文件或目录的名称字符串数组
public File[] listFiles() 返回此抽象路径名的目录中的文件或目录的File对象数组(整个路径)
举例
代码

package itcast;
 
import java.io.File;
import java.io.IOException;
 
public class FileDemo1{
 
    public static void main(String[] args) throws IOException {
        File f1=new File("D:\\itcast\\javaSE");
        System.out.println(f1.isDirectory());
        File f2=new File("D:\\itcast\\java.txt");
        System.out.println(f2.isFile());
        System.out.println(f2.exists());
        System.out.println("-----------------");
        System.out.println(f2.getAbsolutePath());
        System.out.println(f2.getPath());
        System.out.println("-----------------");
        System.out.println(f2.getName());
        File f3=new File("D:\\itcast");
        System.out.println("-----------------");
        String[] s=f3.list();
        for (String string : s) {
            System.out.println(string);
        }
        System.out.println("-----------------");
        File[] file=f3.listFiles();
        for (File file2 : file) {
            System.out.println(file2);
        }
    }
}

执行结果

image.png

删除文件
public boolean delete()
删除由此抽象路径名表示的文件或路径

代码

package itcast;
 
import java.io.File;
import java.io.IOException;
 
public class FileDemo1{
 
    public static void main(String[] args) throws IOException {
        File f1=new File("D:\\itcast\\javaSE");
        System.out.println(f1.delete());
    }
}

执行结果
image.png

删除前
image.png

删除后:

image.png

相对路径和绝对路径
相对路径
必须使用取其其它路径的信息进行解释

绝对路径
完整的路径名,不需要任何其他信息就可以定位它所表示的文件

相关文章
|
2月前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
164 57
|
15天前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
2月前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
66 8
|
2月前
|
存储 安全 Java
java.util的Collections类
Collections 类位于 java.util 包下,提供了许多有用的对象和方法,来简化java中集合的创建、处理和多线程管理。掌握此类将非常有助于提升开发效率和维护代码的简洁性,同时对于程序的稳定性和安全性有大有帮助。
79 17
|
2月前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
2月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
140 4
|
2月前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
87 2
|
2月前
|
存储 安全 Java
如何保证 Java 类文件的安全性?
Java类文件的安全性可以通过多种方式保障,如使用数字签名验证类文件的完整性和来源,利用安全管理器和安全策略限制类文件的权限,以及通过加密技术保护类文件在传输过程中的安全。
74 4
|
2月前
|
Java 编译器 Maven
Java“class file contains wrong class”解决
当Java程序运行时出现“class file contains wrong class”错误,通常是因为类文件与预期的类名不匹配。解决方法包括:1. 确保类名和文件名一致;2. 清理并重新编译项目;3. 检查包声明是否正确。
68 3
|
2月前
|
Java 数据格式 索引
使用 Java 字节码工具检查类文件完整性的原理是什么
Java字节码工具通过解析和分析类文件的字节码,检查其结构和内容是否符合Java虚拟机规范,确保类文件的完整性和合法性,防止恶意代码或损坏的类文件影响程序运行。
57 5