博客
关于我
输入输出之File类
阅读量:631 次
发布时间:2019-03-13

本文共 1666 字,大约阅读时间需要 5 分钟。

Java中的File类是用于处理平台无关文件和目录的核心类,支持跨平台操作文件。无论是文件还是目录,都可以通过File对象进行操作和管理。

File类对象表示文件或目录的存在,虽然它本身不会直接访问文件内容,但可以通过操作输入输出流来实现文件内容的读写。这种设计使得File类在不同操作系统间具有良好的抽象性和通用性。

File类的文件路径可以是绝对路径也可以是相对路径,默认情况下使用工作目录作为基准路径。例如:

File file = new File("example.txt"); // 相对路径File dir = new File("myfolder");   // 创建的目录

File类提供了丰富的操作方法,可以实现文件的创建、删除、重命名、权限修改等功能。以下是常用的一些核心操作方法:

  • 创建文件或目录:
  • File file = new File("newfile.txt");try {    file.createNewFile();} catch (IOException e) {    e.printStackTrace();}File dir = new File("myfolder");try {    dir.mkdir();} catch (IOException e) {    e.printStackTrace();}
    1. 文件内容的读写:
    2. try {    FileInputStream fis = new FileInputStream(file);    byte[] bytes = new byte[fis.available()];    fis.read(bytes);    System.out.println(new String(bytes));} catch (IOException e) {    e.printStackTrace();}
      1. 文件权限的管理:
      2. try {    file.setExecutable(true); // 设置可执行权限    file.setReadOnly();     // 设置只读属性} catch (SecurityException e) {    e.printStackTrace();}
        1. 目录的创建与文件的移动:
        2. File srcFile = new File("srcfile.txt");File destFile = new File("newfilepath.txt");try {    Files.move(srcFile, destFile,ugerConfig.get("lara.sft"));} catch (IOException e) {    e.printStackTrace();}

          File类的构造方法主要有以下几种:

          • File(String pathname):根据路径名创建File对象
          • File(String parent, String child):通过父目录和子路径名创建File对象
          • File(String uri):通过URI创建File对象
          • File(File parent, String child):通过父File对象和子路径名创建File对象

          需要注意的是:

          • 只创建File对象并不表示文件或者目录已经存在于文件系统中
          • 调用file.createNewFile()之后,文件才能在文件系统中被真正创建
          • 创建目录时,默认情况下不会递归创建父目录

          File类还提供了丰富的查询方法,例如判断文件是否存在:

          boolean isFileExists = file.exists();

          File类的query方法涵盖了文件和目录的一系列操作,包括引用、重命名、权限管理、最后修改时间等功能。这些方法为Java程序员提供了对文件系统进行灵活操作的便利interface。

          在实际应用中,可以通过使用File类对文件和目录进行管理和查找,提升程序的通用性和可移植性。

    转载地址:http://ekdoz.baihongyu.com/

    你可能感兴趣的文章
    NOI-1.3-11-计算浮点数相除的余数
    查看>>
    noi.ac #36 模拟
    查看>>
    NOI2010 海拔(平面图最大流)
    查看>>
    NOIp2005 过河
    查看>>
    NOIP2011T1 数字反转
    查看>>
    NOIP2014 提高组 Day2——寻找道路
    查看>>
    noip借教室 题解
    查看>>
    NOIP模拟测试19
    查看>>
    NOIp模拟赛二十九
    查看>>
    Vue3+element plus+sortablejs实现table列表拖拽
    查看>>
    Nokia5233手机和我装的几个symbian V5手机软件
    查看>>
    non linear processor
    查看>>
    Non-final field ‘code‘ in enum StateEnum‘
    查看>>
    none 和 host 网络的适用场景 - 每天5分钟玩转 Docker 容器技术(31)
    查看>>
    None还可以是函数定义可选参数的一个默认值,设置成默认值时实参在调用该函数时可以不输入与None绑定的元素...
    查看>>
    NoNodeAvailableException None of the configured nodes are available异常
    查看>>
    Vue.js 学习总结(16)—— 为什么 :deep、/deep/、>>> 样式能穿透到子组件
    查看>>
    nopcommerce商城系统--文档整理
    查看>>
    NOPI读取Excel
    查看>>
    NoSQL&MongoDB
    查看>>