【Java】文件操作(一)

这篇具有很好参考价值的文章主要介绍了【Java】文件操作(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Java】文件操作(一),java,开发语言



✍一、文件的基本认识

1.文件是什么?

文件是计算机中的基本数据单位,也是存储在外部介质(如磁盘、光盘等)上的具有标识名的一组相关信息的集合。文件的基本结构包括文件名、文件内容以及文件属性

文件可以是文本文档、图片、视频、音频、程序等各种类型。每个文件都有一个唯一的文件名,它用于标识和区分不同的文件。文件内容则是文件的主体部分,包含实际的数据或信息。文件属性则提供有关文件的附加信息,如创建日期、修改日期、大小、权限等。

在计算机系统中,文件通过文件系统来组织和管理。文件系统负责文件的存储、检索、保护和共享等操作。用户可以通过文件系统来创建、打开、编辑、保存和删除文件,从而实现数据的存储和传输。

文件在计算机中扮演着重要的角色,它们是数据交换和存储的主要方式之一。无论是个人用户还是企业组织,都依赖文件来保存和处理各种类型的信息。

2.文本文件和二进制文件

文本文件和二进制文件是计算机中两种主要的文件类型,它们在存储和处理数据时有着不同的特点和用途。

文本文件:

文本文件是一种由一系列字符组成的文件,通常用于存储人类可读的文本信息。文本文件中的字符通常使用ASCII、UTF-8或其他字符编码标准来表示。由于文本文件的内容是可读的文本,它们可以很容易地被人类阅读和编辑。常见的文本文件扩展名包括 .txt、.doc、.csv、.xml 等

文本文件通常用于存储简单的文本数据,如文档、配置文件、日志文件等。由于文本文件的内容是明文的,因此它们通常用于在不同系统和应用程序之间交换数据,因为这些系统和应用程序都能够理解并处理文本数据。

二进制文件:

二进制文件则是由一系列二进制位(0和1)组成的文件,用于存储机器可读的数据。这些数据可能是程序、图像、音频、视频或其他非文本信息。二进制文件的内容通常对人类来说是不可读的,需要使用特定的软件或工具来解析和显示。常见的二进制文件扩展名包括 .exe、.jpg、.mp3、.avi 等。

二进制文件通常用于存储复杂的数据结构和程序,因为它们能够直接存储计算机能够理解的机器语言。由于二进制文件存储的是原始数据,因此它们通常比文本文件更小、更高效,并且能够更准确地表示数据。然而,由于二进制文件的格式通常是特定于应用程序或系统的,因此它们可能不如文本文件那样容易在不同的系统和应用程序之间交换。

判断文件是二进制文件还是文本文件
使用记事本打开该文件,如果不是乱码,就是文本文件。如果是乱码,就是二进制文件。
(记事本,属于把文件内容,按照文本的方式来理解)

3.文件权限

文件权限是指文件的访问控制,即哪些用户可以访问文件并执行什么样的操作。文件权限规定了用户对文件的操作权限,包括读取权限(r)、写入权限(w)和执行权限(x)。

  • 读取权限(r):允许用户读取文件的内容。对于目录,具有读取权限的用户可以列出目录中的文件列表。
  • 写入权限(w):允许用户修改文件的内容。对于目录,具有写入权限的用户可以在目录中创建或删除文件。
  • 执行权限(x):对于普通文件,表示用户可以执行该文件。对于目录,则意味着用户可以进入该目录。

文件权限是针对每个文件或目录设置的,它规定了对应的所有者、所属组和其他用户对文件的读取、写入和执行权限。这些权限可以分别针对所有者、所属组和其他用户进行设置。例如,在Linux系统中,可以使用ls -l命令查看文件或目录的权限设置。

文件权限与用户权限共同决定了用户对文件的实际操作权限。当用户对文件进行操作时,系统会根据文件的权限设置以及用户所属的用户组来确定用户对文件的读取、写入和执行权限。

总的来说,文件权限是确保文件安全和系统稳定的重要机制,它允许管理员或文件所有者控制谁可以访问和修改文件,以及他们可以执行哪些操作。

4.相对路径和绝对路径

文件的路径(File Path)是指在计算机文件系统中用于定位和访问文件或目录的完整地址。它通常是由一系列目录名称和子目录名称组成的序列,这些名称按照它们在文件系统中的层次结构进行排列,并使用特定的分隔符(如斜杠“/”或反斜杠“\”)进行分隔。(通常使用/,因为\在字符串中容易被解析成转义字符)

文件路径可以是绝对路径或相对路径:

1.1绝对路径

绝对路径是从文件系统的根目录开始,一直到目标文件或目录的完整路径。它包含了从根目录到目标位置的所有目录和子目录的名称。绝对路径不依赖于当前的工作目录,因此它总是能够精确地定位到文件系统中的特定位置。

1.2相对路径

相对路径则是相对于当前工作目录的路径。它不需要从文件系统的根目录开始,而是从当前所在的目录开始,指定到达目标文件或目录的路径。相对路径依赖于当前的工作目录,因此如果当前工作目录改变,相同的相对路径可能会指向不同的文件或目录。

【Java】文件操作(一),java,开发语言
我们以D:\IDEA\IntelliJ IDEA Community Edition 2022.3.3\bin为工作目录,我们要在bin文件夹下寻找idea64.exe

相对路径./idea64.exe
这里的.就代表工作目录 D:\IDEA\IntelliJ IDEA Community Edition 2022.3.3\bin

绝对路径D:\IDEA\IntelliJ IDEA Community Edition 2022.3.3\bin\idea64.exe

✍二、文件的基本操作

针对文件系统的操作, 主要是文件/目录的创建和删除, 文件的重命名等.

Java标准库中提供了一个File类, 能够完成对某一路径上的文件进行操作.

1.FIle的属性

修饰符及类型 属性 说明
static String pathSeparator 依赖于系统的路径分隔符(/或者), String类型的表示.
public static final char pathSeparatorChar 依赖于系统的路径分隔符(/或者), char类型的表示.

2.File的构造方法

签名 说明
File(File parent, String child) 根据父文件对象 + 孩子文件路径, 创建文件
File(String path name) 根据一个文件路径去创建文件
File(String parent, String child) 根据父目录(路径) + 孩子路径,创建文件

构造File对象时,写的路径,不一定要存在

File(File parent, String child)

File parentDir = new File("/home/user/documents");  
File file = new File(parentDir, "myfile.txt");  
// 此时,file 代表的路径是 /home/user/documents/myfile.txt

File(String parent, String child)

File file = new File("/home/user/documents", "myfile.txt");  
// 此时,file 代表的路径是 /home/user/documents/myfile.txt

3.File类的方法

3.1File类的获取操作

返回值 方法 说明
Sting getParent() 返回File对象父目录文件路径
String getName() 返回File对象文件名
String getPath() 返回File对象文件路径
String getAbsolutePath() 返回File对象的绝对路径
String getCanonicalPath() 返回File对象修饰过的绝对路径
 public static void main(String[] args) throws IOException {

        File file = new File("d:/Test.txt");

        //获取File对象的文件名
        System.out.println(file.getName());
        //获取File对象的文件路径
        System.out.println(file.getPath());
        //获取File对象父目录文件路径
        System.out.println(file.getParent());
        //获取File对象的绝对路径
        System.out.println(file.getAbsoluteFile());
        //返回File对象修饰过的绝对路径
        System.out.println(file.getCanonicalPath());
    }

【Java】文件操作(一),java,开发语言

3.2File类的判断操作

返回值 方法 说明
boolean exists() 判断File对象代表的文件是否真实存在
boolean isDirectory() 判断File对象代表的文件是否是一个目录
boolean isFile() 判断File对象代表的文件是否是一个普通文件
boolean isHidden() 判断File对象代表的文件是否是一个隐藏文件
boolean isAbsolute() 判断File对象路径名是否是绝对路径
boolean canRead() 判断用户是否对文件有可读权限
boolean canWrite() 判断用户是否对文件有可写权限
boolean canExecute() 判断用户是否对文件有可执行权限
  public static void main(String[] args) {
        File file = new File("d:/Test.txt");

        //判断File对象代表的文件是否存在
        System.out.println(file.exists());
        //判断File对象代表的文件是否时一个目录
        System.out.println(file.isDirectory());
        //判断File对象代表的文件是否是一个普通文件
        System.out.println(file.isFile());
        //判断File对象代表的文件是否是一个隐藏文件
        System.out.println(file.isHidden());
        //判断File对象路径名是否是绝对路径
        System.out.println(file.isAbsolute());
        //判断用户是否对文件有可读权限
        System.out.println(file.canRead());
        //判断用户是否对文件有可写权限
        System.out.println(file.canWrite());
        //判断用户是否对文件有可执行权限
        System.out.println(file.canExecute());
    }

【Java】文件操作(一),java,开发语言

3.3文件创建和删除

返回值 方法 说明
boolean createNewFile() 自动创建一个新文件,创建成功返回true
boolean mkdir() 创建File对象表示的目录
boolean mkdir() 创建File对象表示的多级目录
boolean delete() 根据File对象删除该文件,删除成功返回true
void deleteOnExist() 根据File对象,标注该文件将被删除,当JVM运行结束才会执行

代码展示:

在idea默认目录下进行展示
【Java】文件操作(一),java,开发语言

public static void main(String[] args) throws IOException {
        File file = new File("./abc.txt");
        //文件未创建,则创建新文件
        if (!file.exists()){
            file.createNewFile();
            System.out.println("创建成功!~~");
        }
        //创建一个文件夹(目录)
        file = new File("./temp");
        file.mkdir();
        System.out.println("创建目录成功!~~");
        //创建多个目录
        file = new File("./aaa/bbb/ccc");
        file.mkdirs();
        System.out.println("创建多个目录成功!~~");
    }

执行结果:

【Java】文件操作(一),java,开发语言

如果在执行完代码后,没有出现如上效果
右键项目,点击Reload from Disk刷新一下
【Java】文件操作(一),java,开发语言
文件的删除

 File file1 = new File("./abc.txt");
        file1.delete();

【Java】文件操作(一),java,开发语言
关于删除方法中的deleteOnExist()不太好演示, 这里解释一下, 这个方法的功能是在程序退出的时候, 自动删除文件, 当我们在程序中需要用到一些 “临时文件” 的时候, 可以用到这个方法, 保证在程序退出的同时把临时文件给删除掉.

什么时候会用到临时文件的呢, 比如这里打开一个word文档, 在打开的同时就会在同级目录下生成出一个临时文件, 关闭word, 这个临时文件被删除了, 临时文件发挥的功能是实时保存我们实时编辑的内容(尤其是没有保存的内容), 防止我们编辑了很多内容但由于一些问题导致我们没有进行保存, 比如工作一半突然停电了, 东西还没来得及保存, 但由于临时文件中实时保存了我们编辑的内容, 等到再次启动word文档时, 就会提醒我们是否要恢复之前的编辑内容.

3.4其他的常用方法

返回值 方法 说明
String[] list() 返回File对象目录下所有的文件名
File[] listFiles() 返回File对象目录下的所有文件,以File对象的形式表示
boolean renameTo(File dest) 对文件进行改名
    public static void main(String[] args) {
        File file = new File("./");
        File temp1 = new File("./aaa");
        File temp2 = new File("./eee");

        //获取当前路径目录下所有文件名
        System.out.println(Arrays.toString(file.list()));
        //将目录aaa更名为eee
        System.out.println(temp1.renameTo(temp2));
        //重新获取当前路径目录下所有文件名
        System.out.println(Arrays.toString(file.list()));

    }

【Java】文件操作(一),java,开发语言


以上就是本文所有内容,如果对你有帮助的话,点赞收藏支持一下吧!💞💞💞文章来源地址https://www.toymoban.com/news/detail-859780.html

到了这里,关于【Java】文件操作(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java中操作文件(一)

    目录 一、引入 二、File概述 2.1、属性  2.2、构造方法  2.3、方法  2.4、代码示例 示例1 示例2  示例3  示例4 示例5 示例6 示例7  示例8 文件是操作系统中的重要概念,Java作为一个跨平台语言,可以针对不同的操作系统处理文件。比如说windows与linux组织文件的方式是不同的,

    2024年02月12日
    浏览(46)
  • Java中的文件操作

    Java中通过 java.io.File 类来对⼀个⽂件(包括⽬录)进⾏抽象的描述。注意,有File对象, 并不代表真实存在该⽂件。  1.1 属性 在Java中提供了这两个常量来获取对应的系统的文件路径分隔符 pathSeparatorChar是一个字符常量,表示系统相关的路径分隔符。它的值由fs.getPathSeparato

    2024年01月21日
    浏览(96)
  • 【Java系列】文件操作详解

    个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Java系列专栏】【JaveEE学习专栏】 本专栏旨在分享学习JavaEE的一点学习心得,欢迎大家在评论区交流讨论💌 文件是在硬盘上存储数据的一种方式。即数据是在硬盘上

    2024年02月03日
    浏览(30)
  • 【Java EE】文件操作

    目录 1.认识文件 2.树型结构组织和目录 3.文件路径(Path) 4.其他知识 5.Java中操作文件 5.1File概述 5.1.1属性 5.1.2构造方法 5.1.3方法 5.2代码示例 1.认识文件 我们先来认识狭义的文件(file)。针对1硬盘这种持久化存储的I/O设备,当我们想要进行数据保存时,往往不是保存一个整

    2024年04月22日
    浏览(54)
  • Java文件操作

    目录 一、File类概述 1.1 使用案例 二、文件内容的读写 2.1 字符流 2.1.1 读取文件 2.1.2 写入文件 2.2 字节流 2.2.1 读取文件 2.2.2 写入文件 对于Java操作文件,具体详情可以参考Java api文档 中的Java.io.File类 首先先了解一下File类中常见的属性、构造方法和普通方法 属性 修饰符及类

    2024年02月10日
    浏览(33)
  • 【Java】文件操作(一)

    文件是计算机中的 基本数据单位 ,也是存储在外部介质(如磁盘、光盘等)上的具有标识名的一组相关信息的集合。 文件的基本结构包括文件名、文件内容以及文件属性 。 文件可以是文本文档、图片、视频、音频、程序等各种类型。每个文件都有一个 唯一 的文件名,它用

    2024年04月27日
    浏览(21)
  • 【Java 基础篇】Java Zip压缩:简化文件和文件夹的压缩操作

    在Java开发中,经常会遇到需要对文件和文件夹进行压缩和解压缩的需求。Java提供了Zip压缩库,使我们能够轻松地进行文件和文件夹的压缩操作。本文将详细介绍Java中的Zip压缩功能,并提供示例代码来演示其用法。 Zip压缩是一种常见的文件压缩格式,它将多个文件和文件夹打

    2024年02月15日
    浏览(79)
  • 【Java EE 初阶】文件操作

    目录 1.什么是文件? 1.在cmd中查看指定目录的树形结构语法 2.文件路径 从当前目录开始找到目标程序(一个点) 返回到上一级目录,再找目标程序(两个点) 2.Java中文件操作 1.File概述 1.属性 2. 构造方法 3.常用方法  代码展示: 4.常用方法2 3. 文件内容的读写---数据流 1.I

    2024年02月06日
    浏览(43)
  • 【JavaEE初阶】 认识文件与Java中操作文件

    我们先来认识狭义上的文件(file)。针对硬盘这种持久化存储的I/O设备,当我们想要进行数据保存时,往往不是保存成一个整体,而是独立成一个个的单位进行保存,这个独立的单位就被抽象成文件的概念,就类似办公桌上的一份份真实的文件一般。 文件除了有数据内容之外,

    2024年02月07日
    浏览(45)
  • Java之文件操作与IO

    目录 一.认识文件 1.1文件是什么?  1.2文件的组织  1.3文件路径 1.4文件的分类 二.文件操作 2.1File概述  三.文件内容操作--IO 3.1JavaIO的认识  3.2Reader和Writer ⭐Reader类  ⭐Writer类 3.2FileInputStream和FileOutputStream ⭐FileInputStream类 ⭐FileOutputStream类 四.总结 🎁个人主页:tq02的博客_C

    2024年02月10日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包