Java基础学习(十四)

news/2025/2/4 21:35:14/文章来源:https://www.cnblogs.com/victoria6013/p/18698512

Java基础学习(十四):File类

目录
  • Java基础学习(十四):File类
    • 概念
    • File 类的创建
    • File 类的常见成员方法(判断、获取)
    • File 类的常见成员方法(创建、删除)
    • File 类的常见成员方法(获取并遍历)

本文为个人学习记录,内容学习自 黑马程序员


概念

  • File 对象就表示一个路径,可以是文件的路径,也可以是文件夹的路径;这个路径可以是存在的,也可以是不存在的
  • 目的:获取路径对应的文件对象,再利用 File 类中的方法对文件进行操作

File 类的创建

  • 构造方法:

    方法名 说明
    public File(String pathname) 根据文件路径创建文件对象
    public File(String parent, String child) 根据父路径名和子路径名创建文件对象
    public File(File parent, String child) 根据父路径对应文件对象和子路径名字符串创建文件对象
  • 示例:

    // 方法一
    String str = "C:\\Users\\Legion\\Desktop\\a.txt";
    File f1 = new File(str);// 方法二
    String parent = "C:\\Users\\Legion\\Desktop";
    String child = "a.txt";
    File f2 = new File(parent, child);// 方法三
    File parent2 = new File(parent);
    String child2 = "a.txt";
    File f3 = new File(parent2, child2);
    

File 类的常见成员方法(判断、获取)

  • 常用方法

    方法名 说明
    public boolean isDirectory() 判断此路径名表示的 File 是否为文件夹
    public boolean isFile() 判断此路径名表示的 File 是否为文件
    public boolean exists() 判断此路径名表示的 File 是否存在
    public long length() 返回文件的大小(字节数量)
    public String getAbsolutePath() 返回文件的绝对路径
    public String getPath() 返回定义文件时使用的路径
    public String getName() 返回文件/文件夹的名称,带后缀
    public long lastModified() 返回文件的最后修改时间(时间毫秒值)
  • 注意事项:

    • length() 方法只能用于获取文件的大小,用于获取文件夹大小时输出是不正确的,具体输出值由操作系统决定
    • 定义文件时采用绝对路径则 getPath() 方法返回绝对路径,定义文件时采用相对路径则 getPath() 方法返回相对路径

File 类的常见成员方法(创建、删除)

  • 常用方法

    方法名 说明
    public boolean createNewFile() 创建一个新的空的文件
    public boolean mkdir() 创建单级文件夹
    public boolean mkdirs() 创建多级文件夹
    public boolean delete() 删除文件、空文件夹
  • 注意事项

    • createNewFile() 方法的返回值表示是否创建成功,如果当前路径表示的文件不存在,则创建成功;如果已经存在,则创建失败
    • 使用 createNewFile() 方法时必须保证文件对象的父级路径是存在的,否则会出现异常 IOException
    • createNewFile() 方法创建的一定是文件,如果路径中不包含后缀名,则会创建一个没有后缀的文件,而非文件夹
    • mkdir() 方法的返回值表示是否创建成功,如果当前路径表示的文件夹不存在,则创建成功;如果已经存在,则创建失败
    • mkdir() 方法只能创建单级文件夹,如果用来创建多级文件夹时不会报错,但返回值为 false
    • mkdirs() 方法既能创建多级文件夹,也能创建单级文件夹
    • delete() 方法默认只能删除文件和空文件夹,并且不会经过回收站

File 类的常见成员方法(获取并遍历)

  • 常用方法

    方法名 说明
    public File[] listFiles() 获取当前路径下所有内容
  • 注意事项

    • listFiles() 方法的调用者表示的路径为文件夹时,返回值为该文件夹内所有文件和文件夹的 File 对象组成的数组(包括隐藏文件)
    • listFiles() 方法的调用者表示的路径不存在时,或者表示的路径为文件时,或者文件夹需要权限才能访问时,返回值为 null
    • listFiles() 方法的调用者表示的路径是空文件夹时,返回值为一个长度为 0 的数组
  • 了解即可的方法

    方法名 说明
    public static File[] listRoots() 列出可用的文件系统根(系统盘符)
    public String[] list() 获取当前路径下所有内容(仅获取文件名)
    public String[] list(FilenameFilter filter) 利用文件名过滤器获取当前路径下所有内容
    public File[] listFiles(FileFilter filter) 利用文件名过滤器获取当前路径下所有内容
    public File[] listFiles(FilenameFilter filter) 利用文件名过滤器获取当前路径下所有内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/878738.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4G优先级切换

本文来自博客园,作者:{IceSparks},转载请注明原文链接:https://www.cnblogs.com/IceSparks/p/18698508

4G与5GSIB对比

本文来自博客园,作者:{IceSparks},转载请注明原文链接:https://www.cnblogs.com/IceSparks/p/18698503

AI赋能软件测试:未来已来,你准备好了吗?

ps:文末有福利领取哦引言 在数字化转型的浪潮中,软件测试作为保障产品质量的关键环节,正面临着前所未有的挑战。 传统的测试方法已难以满足快速迭代和复杂场景的需求,而人工智能(AI)的引入,则为软件测试带来了革命性的变化。 本文将从现状、优势、挑战及未来趋势四个方面…

C语言 输出回文数

回文数,既把数值的每个数 颠倒输出(从右往左输出),再合起来的数如果和原来的值相等 例:输出0 至 1993 的回文数#include <stdio.h>int main() { int i ,x ,d ,a ; for(i=0;i<=1993;i++) {a = i; x = 0; while (a != 0) { d = a%10; //每次都取a值的最后一位 x = …

洛谷 P3842 [TJOI2007] 线段 题解

题目大意 原题链接 给你一个大小为 \(n \times n\) 的矩阵,上面有 \(n\) 条线段(一行一条)。你只能向右,向下,向左走。每一条线段都必须完整的经过。请问从 \((1,1)\) 到 \((n,n)\) 最短路径长度是多少? 解法 这道题可以使用最短路或者DP来做。我觉得DP本题更简单一点所以我…

数据降维技术研究:Karhunen-Love展开与快速傅里叶变换的理论基础及应用

在现代科学计算和数据分析领域,数据降维与压缩技术对于处理高维数据具有重要意义。本文主要探讨两种基础而重要的数学工具:Karhunen-Love展开(KLE)和快速傅里叶变换(FFT)。通过分析这两种方法的理论基础和应用特点,阐述它们在数据降维中的优势和适用场景。 Karhunen-Lov…

一个Python GC的小Bug

这个代码是在看了“码农高天”的视频照模仿的。虽然 GC 能完成大部分内存管理的工作,但是基于性能计数器的GC确实存在小 Bug,这一点还是需要通过del和gc.collect手动管理。 from typing import Optionalclass Object:def __init__(self, name: str) -> None:self.obj: Opt…

2月做题记录

还有一个月。2月做题记录✩ trick ✯ 会大部分,要\(tj\)提示 ✬ 会小部分/完全没想到,看了\(tj\)才会 ◈ 脑电波 ✡ 有某一算法的神秘通用性质 ⊗ 待补目录2月做题记录字符串CF1827CCF1913FP10716P11150 ✩✯树[NOI2021] 轻重边做法1 ✩做法2做法3 ✡《简单树剖练习题》[QOJ9…

第六节 特征提取和无监督学习

没有标签y依旧提取出特征你的模型朝着哪个方向压缩特征,由你的标签来定自监督学习:从x中提取一部分作为自己的标签y,然后用x预测y 在自监督学习中,需要根据数据的特点设计一些自监督任务,这些任务通常基于数据的一些内在属性或关系来构建。例如,在图像数据中,可以设计图像…

产线MES 和 车间MES的区别与联系

制造执行系统(MES)在现代制造业中扮演着至关重要的角色,它连接着企业的计划层与生产现场,推动生产效率提升和质量管控强化。本文将深入探讨产线级MES和车间级MES的区别与联系,帮助读者更好地理解这两种MES系统如何协同工作,共同提升企业的生产管理水平。制造执行系统(ME…

CF995

A link如果选择这一天做题可以让差增加(即我这一天的题数大于他下一天的题数),则选;否则不选。 特殊的,另一个人地\(n+1\)天我们钦定他做了\(0\)道题。点击查看代码 #include<bits/stdc++.h>using namespace std;int n; int a[105],b[105];void qwq(){cin >> …