Java-File类

目录

前言:

1.File类概述

2.File类属性

3.File类构造方法

4.File类普通方法


前言:

 在Java中操作文件主要分为:1.文件系统的操作(File类)、2.文件内容的操作(流对象)。

本节主要介绍Java中的文件系统操作-File类。

序列:文件/IO - 002


1.File类概述

在Java语言中可以对操作系统中的文件进行操作,主要为文件系统和文件内容操作。

在Java标椎库中提供了可以直接使用的类--File类是主要针对文件系统进行操作的类,主要包含针对文件的创建、删除和重命名等系列操作。

File类对一个文件(包括目录)进行抽象的描述。注意,有File对象,并不代表系统中一定真实存在该文件。

2.File类属性

在File类对象中最直观的属性就是文件名,一个完整的文件名包含两部分,前缀和扩展名(文件名=前缀+扩展名)。

  • test.txt - 正确文件名
  • test - 错误文件名

在File类中包含很多属性,其中路径分割符是最常见的属性如下:

在不同的操作系统中,针对文件路径中的分隔符有不同的表示方法。为了体现出Java语言的特性-跨平台编程的思想,所以Java语言中在文件路径的表示时,可以不直接使用符号,而是用pathSeparator属性表示,这样就可以在不同的操作系统中表示路径。

修饰符及类型属性说明
static StringpathSeparator依赖于系统的路径分隔符,String类型
static charpathSeparator依赖于系统的路径分隔符,char类型

3.File类构造方法

File类的构造方法如下:

签名说明
File(File parent , String child)根据父目录+孩子文件路径,创建一个File实例,父目录文件表示
File(String pathname)根据文件路径创建一个File实例,可以是绝对路径或相对路径
File(String parent , String child)根据父目录+孩子文件路径,创建一个File实例,父目录路径表示

一个File类对象就表示一个硬盘上的文件,构造对象时,就要把文件路径指定进来(绝对路径/相对路径都可以)。

在使用构造方法构造File类对象时,文件名需要写完整,包含前缀和扩展名。

在系统D盘的JavaEE文件夹中创建一个test.txt的文件,代码示例如下:

public class Main {public static void main(String[] args) {//1、使用父目录和孩子文件路径的构造方法创建一个File类对象File file = new File("D:/JavaEE/");//创建一个父目录File file1 = new File(file,"test.txt");//2、直接使用路径的构造方法创建一个File类对象File file2 = new File("D:/JavaEE/test.txt");//3、使用父路径加孩子文件路径的构造方法创建一个File类对象File file3 = new File("D:/JavaEE","/test.txt");}
}

上述代码在Windows系统中使用,方便起见,并未使用上文所提分隔符属性。

有File对象,并不代表系统中一定真实存在该文件。

4.File类普通方法

File类的普通方法有很多,具体如下:

返回值类型方法签名说明
StringgetParent()返回File对象父目录文件路径
StringgetName()返回File对象纯文件名称
StringgetPath()返回File对象文件路径
StringgetAbsolutePath()返回File对象文件绝对路径
StringgetCanonicalPath()返回File对象修饰过的绝对路径
booleanexists()判断File对象描述的文件是否真实存在
booleanisDirectory()判断File对象代表的文件是否是一个目录
booleanisFile()判断File对象代表的文件是否是一个普通文件
booleancreateNewFile()根据File对象,创建一个空文件。成功后返回True
booleandelete()根据File对象,删除一个文件。成功后返回True
voiddeleteOnExit()根据File对象,标注文件将会在JVM运行结束后删除
String[ ]list()返回File对象代表的目录下的所有文件名
File[ ]listFiles()返回File对象代表目录下的所有文件,File类型
booleanmkdir()创建File对象代表的目录
booleanmkdirs()创建File对象代表的目录,如必要,会创建中间件
booleanrenameTo(File dest)进行文件改名
booleancanRead()判断用户是否对文件有可读权限
booleancanWriter()判断用户是否对文件有可写权限

针对这些File类的具体的使用方法,后边会进行具体的介绍与展示。


以上便是对Java中File类的具体介绍与表述。

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

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

相关文章

数据加密算法多样化的安全需求

数据加密算法是信息安全领域中非常重要的一环,它能够确保数据在传输和存储过程中的机密性和完整性。随着技术的发展,数据加密算法也在不断地演进和改进,以满足更为复杂和多样化的安全需求。 数据加密算法的基本原理是使用加密密钥和加密算法对…

【计算机网络】Socket的SO_REUSEADDR选项与TIME_WAIT

SO_REUSEADDR用于设置套接字的地址重用。当一个套接字关闭后,它的端口可能会在一段时间内处于TIME_WAIT状态,此时无法立即再次绑定相同的地址和端口。使用SO_REUSEADDR选项可以允许新的套接字立即绑定到相同的地址和端口,即使之前的套接字仍处…

Vim实战:使用Vim实现图像分类任务(一)

文章目录 摘要安装包安装timm 数据增强Cutout和MixupEMA项目结构编译安装Vim环境环境安装过程安装库文件 计算mean和std生成数据集 摘要 论文:https://arxiv.org/pdf/2401.09417v1.pdf 翻译: 近年来,随着深度学习的发展,视觉模型…

JUC并发编程01——进程,线程(详解),并发和并行

目录 1.进程和线程的概念及对比1.进程概述 2.线程3.对比 2.并行与并发1.并发2.并行 3.线程详解3.1.创建和运行线程3.1.1.Thread3.1.2.Runnable结合Thread 创建线程3.1.3.Callable 3.2线程方法APIrun startsleep yieldjoininterrupt打断线程打断 park终止模式 daemon不推荐使用的…

基于Java SSM框架实现校园快领服务系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现校园快领服务系统演示 摘要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于校园快领服务系统当然也不能排除在外,随着网络技术的不断成熟,带动了…

骨传导耳机的技术原理是什么?和传统耳机相比有哪些优点?

骨传导耳机通过人体骨骼来传递声音,可以绕过耳道和耳膜直接传达音频到听者的内耳,开放双耳的佩戴方式可以在享受音乐或通话的同时保持对周围环境的感知,这种设计在户外活动或运动等场景下的使用尤为实用,可以避免堵塞耳朵&#xf…

CHS_08.2.3.6_1+生产者-消费者问题

CHS_08.2.3.6_1生产者-消费者问题 问题描述问题分析思考:能否改变相邻P、V操作的顺序?知识回顾 在这个小节中 我们会学习一个经典的进程同步互斥的问题 问题描述 并且尝试用上个小节学习的p v操作 也就是信号量机制来解决这个生产者消费者问题 问题的描…

大力说视频号第三课:视频小店

自从腾讯推出视频号之后,大家非常明显的感觉到,视频号正以势不可挡的姿势走向独立发展。那么,依托于微信生态的视频号,未来将迎来哪些精彩发展呢? 让我们一同来揭开“视频号小店”的神秘面纱,了解一下玩法…

有色金属矿山采选智能工厂数字孪生可视化,推进矿采选业数字化转型

有色金属矿山采选智能工厂数字孪生可视化,推进矿采选业数字化转型。随着科技的不断发展,数字化转型已经成为各行各业发展的必然趋势。有色金属矿采选业作为传统工业的重要组成部分,也面临着数字化转型的挑战。为了更好地推进有色金属矿采选业…

百无聊赖之JavaEE从入门到放弃(十七)时间处理相关类

目录 一.Date 时间类 二.DateFormat 类和 SimpleDateFormat 类 三.Calendar 日历类 “时间如流水,一去不复返”,时间是一维的。所以,我们需要一把刻度尺来表达和度 量时间。在计算机世界,我们把 1970 年 1 月 1 日 00:00:00 定…

张维迎《博弈与社会》多重均衡与制度和文化(4)路径依赖的困惑

在前述计算机产品标准化的问题中,有两个纳什均衡:都生产有5.25英寸软盘驱动器的计算机和都生产有3.5英寸软盘驱动器的计算机。假设一开始企业只能生产有5.25英寸软盘驱动器的计算机,生产3.5英寸软盘驱动器计算机的技术随后出现,企…

Next.js如何正确处理跨域问题?

以前一直使用Vue来写前端。去年下半年接手了一个基于React Next.js的项目,于是顺带学习了一下Next.js。由于Next.js的特点,这个项目的前后端是放在一起的。一开始没什么问题,看了半天文档就上手了。 上周我们需要在另一个网页项目中&#x…

C#,桌面游戏编程,数独游戏(Sudoku Game)的算法与源代码

本文包括以下内容: (1)数独游戏的核心算法; (2)数独游戏核心算法的源代码; (3)数独游戏的部分题目样本; (4)适老版《数独》的设计原则…

C#,哥伦布数(Golomb Number)的算法与源代码

1 哥伦布数(Golomb Number) 哥伦布数(Golomb Number)是一个自然数的非减量序列,使得n在序列中正好出现G(n)次。前几个15的G(n)值为:1 2 2 3 3 4 4 4 5 5 5 6…

计算机图形学 实验

题目要求 1.1 实验一:图元的生成:直线、圆椭区域填充 你需要完成基本的图元生成算法,包括直线和椭圆。 在区域填充中,要求你对一个封闭图形进行填充。你需要绘制一个封 闭图形(例如多边形),并选…

Hadoop3.x基础(3)- MapReduce

来源: B站尚硅谷 目录 MapReduce概述MapReduce定义MapReduce优缺点优点缺点 MapReduce核心思想MapReduce进程常用数据序列化类型MapReduce编程规范WordCount案例实操本地测试提交到集群测试 Hadoop序列化序列化概述自定义bean对象实现序列化接口(Writable&#xff…

新手不会Git也能玩Github吗?

新手不会Git也能玩Github吗? 前言使用Github的准备步骤使用一种访问外网资源的方法(这一步才是新手最容易)注册账号 创建一个自己的仓库创建完仓库后的界面 搜索你想要的代码类型以搜索坦克大战为例以下载烟花代码为例 总结 前言 说到Github&…

人工智能福利站,初识人工智能,机器学习,第四课

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

我已经入驻多多

我已经入驻多多面包多平台 啦! 作为一位专注于帮助人们部署Python环境、探索人工智能和JavaEE技术,并创作计算机课程设计相关作品的创作者。我的作品类型涵盖了各种技术领域,旨在为学习者提供实用的资源和指导。 在CSDN拥有1100个粉丝的基础上&#x…

arcgis javascript api4.x加载非公开或者私有的arcgis地图服务

需求: 加载arcgis没有公开或者私有的地图服务,同时还想实现加载时不弹出登录窗口 提示:​ 下述是针对独立的arcgis server,没有portal的应用场景; 如果有portal可以参考链接:https://mp.weixin.qq.com/s/W…