java之File类和AP

一:File类初识

  • Java中的File类用于文件和目录路径名的抽象表示形式。
  • 程序代码和文件目录的关系:主要就是对文件和目录进行增删改查,俗称CRUD
  • File类的包名是java.io,实现了Serializable, Comparable两大接口以便于其对象可序列化和比较
  • 技巧:File.separator 目录分隔符,在不同的系统下不一样, windows和 mac /Linux
  • File类能新建、删除、重命名文件和目录,但File类不能用于读取或写入文件内容。
    • 如果需要读取文件内容,请使用FileReader、BufferedReader等类;
    • 如果需要写入文件内容,请使用FileWriter、BufferedWriter或PrintWriter等类。

二:File类的常用构造方法

  • File(String pathname):通过给定的路径名字符串(可以是相对路径或绝对路径)构造File对象。
  • File(String parent, String child):从父路径名字符串和子路径名字符串构造File对象。

三:File类的常用方法

  • 获取文件/目录信息
    • getName():返回由路径名表示的文件或目录的名称。
    • getPath():将此路径名转换为一个路径名字符串。
    • getAbsolutePath():返回路径名的绝对路径名字符串。
    • isDirectory():测试路径名表示的文件是否是一个目录。
    • isFile():测试路径名表示的文件是否是一个普通文件。
    • exists():测试路径名表示的文件或目录是否存在。
    • length():返回路径名表示的文件的长度(以字节为单位)。
  • 创建文件/目录
    • createNewFile():当且仅当具有指定名称的文件尚不存在时,创建一个新的空文件。
    • mkdir():创建路径名指定的目录。
    • mkdirs():创建路径名指定的目录,包括所有必需但不存在的父目录。
  • 删除文件/目录
    • delete():删除路径名表示的文件或目录。
  • 列出目录内容
    • list():返回一个字符串数组,这些字符串表示此抽象路径名表示的目录中的文件和目录。
    • listFiles():返回一个File数组,这些文件和目录路径名表示此抽象路径名表示的目录中的文件和目录。

四:代码示例

package chapter10;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;

public class FileApiDemo {

    public static void main(String[] args) throws IOException {
        String dir = "/Users/mz/IdeaProjects/xdclass-count/src/chapter10";

        String name = "abc.txt";
        File file = new File(dir,name);
        System.out.println("基本路径 getPath()= " + file.getPath());
        System.out.println("文件名 getName()= " + file.getName());
        System.out.println("绝对路径 getAbsolutePath = " + file.getAbsolutePath());
        System.out.println("父路径名 getParent() = " + file.getParent());
        System.out.println("是否是绝对路径 isAbsolute() = " + file.isAbsolute());
        System.out.println("是否是一个目录 isDirectory() = " + file.isDirectory());
        System.out.println("是否是一个文件 isFile() = " + file.isFile());
        System.out.println("文件或目录是否存在 exists() = " + file.exists());

        //打印文件夹下所有文件
        File files = new File(dir);
        String[] list = files.list();
        for (String fileName : list){
            System.out.println(fileName);
        }

        //创建指定目录
        File mkdirFile = new File(dir + "/test");
        mkdirFile.mkdir();

        //创建文件
        File newFile = new File(dir + "/test/newfile.txt");
        newFile.createNewFile();

        //删除文件
        newFile.delete();

    }
}

/**
运行结果:
基本路径 getPath()= /Users/mz/IdeaProjects/xdclass-count/src/chapter10/abc.txt
文件名 getName()= abc.txt
绝对路径 getAbsolutePath = /Users/mz/IdeaProjects/xdclass-count/src/chapter10/abc.txt
父路径名 getParent() = /Users/mz/IdeaProjects/xdclass-count/src/chapter10
是否是绝对路径 isAbsolute() = true
是否是一个目录 isDirectory() = false
是否是一个文件 isFile() = true
文件或目录是否存在 exists() = true
test
abc.txt
*/
  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 提供了许多加密和解密 PDF 文档的库。其中一些库是: 1. Apache PDFBox:它是一个开源库,可以用来创建、修改和提取 PDF 文档。它还提供了加密和解密 PDF 文档的功能。 2. iText:它是一个广泛使用的 PDF 库,可以用来创建、修改和提取 PDF 文档。它还提供了加密和解密 PDF 文档的功能。 以下是使用 Apache PDFBox 加密和解密 PDF 文档的示例代码: 1. 加密 PDF 文档: ``` import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.encryption.AccessPermission; import org.apache.pdfbox.pdmodel.encryption.StandardProtectionPolicy; import java.io.File; import java.io.IOException; public class PDFEncryptor { public static void main(String[] args) throws IOException { // 加载 PDF 文档 PDDocument document = PDDocument.load(new File("example.pdf")); // 设置访问权限 AccessPermission ap = new AccessPermission(); ap.setCanPrint(false); // 设置加密策略 StandardProtectionPolicy spp = new StandardProtectionPolicy("password", "ownerpassword", ap); spp.setEncryptionKeyLength(128); // 应用加密策略 document.protect(spp); // 保存加密后的 PDF 文档 document.save("example-encrypted.pdf"); document.close(); } } ``` 2. 解密 PDF 文档: ``` import org.apache.pdfbox.pdmodel.PDDocument; import java.io.File; import java.io.IOException; public class PDFDecryptor { public static void main(String[] args) throws IOException { // 加载加密的 PDF 文档 PDDocument document = PDDocument.load(new File("example-encrypted.pdf"), "password"); // 解密 PDF 文档 document.setAllSecurityToBeRemoved(true); // 保存解密后的 PDF 文档 document.save("example-decrypted.pdf"); document.close(); } } ``` 这些示例代码使用 Apache PDFBox 库加密和解密 PDF 文档。您可以根据需要使用其他库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值