当前位置: 首页 > news >正文

JAVA文件操作

JAVA文件操作

文章目录

  • JAVA文件操作
    • 1.属性
    • 2.构造方法
    • 3.方法
      • 3.1创建文件
      • 3.2 文件删除
      • 3.3创建目录
      • 3.4文件名
      • 3.5 文件重命名
      • 3.6查看文件的可读性

​ Java中通过 java.io.file类来对文件(目录)进行抽象的描述。注意, 有File对象时,不代表真实存在该文件

1.属性

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

windows系统是:反斜杠\

Linux系统是:斜杠/

2.构造方法

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

3.方法

修饰符及返回方法说明
StringgetParent()放回File的父目录文件路径
StringgetName()纯文件目录
StringgetPath()文件路径
StringgetAbsolutePath()绝对路径
StringgetCanonicalPath()修饰过后的绝对路径
public class Constructor {public static void main(String[] args) throws IOException {System.out.println("==================使用绝对路径===================");File file=new File("d:/JAVA/temp/test/hello.txt");System.out.println(file.getParent());//父目录文件路径System.out.println(file.getName());//纯文件名称System.out.println(file.getPath());//文件路径System.out.println(file.getAbsolutePath());//绝对路径System.out.println(file.getCanonicalPath());//修饰过的绝对路径System.out.println("==================使用相对路径===================");file=new File("./test/hello.txt");System.out.println(file.getParent());//父目录文件路径System.out.println(file.getName());//纯文件名称System.out.println(file.getPath());//文件路径System.out.println(file.getAbsolutePath());//绝对路径System.out.println(file.getCanonicalPath());//修饰过的绝对路径}
}

image-20230216232916267

file是Java层面的对象,并不是系统中的真实文件,是两种不同的概念

3.1创建文件

booleanexist()文件是否存在
booleanisDirectory()是否是一个目录
booleanisFile()是否是文件
booleancreateNewFile()创建文件
public class Create {public static void main(String[] args) throws IOException {File file=new File("./test.txt");System.out.println("是否存在:"+file.exists());System.out.println("是不是一个目录:"+file.isDirectory());System.out.println("是否是文件:"+file.isFile());System.out.println("=============================");System.out.println("创建文件:"+file.createNewFile());System.out.println("是否存在:"+file.exists());System.out.println("是不是一个目录:"+file.isDirectory());System.out.println("是否是文件:"+file.isFile());}
}

image-20230216235845936

这时就在根目录下就能找到刚才创建的文件了,当文件存在时不重复创建

image-20230217000151447

3.2 文件删除

booleandelate()
public class Delete {public static void main(String[] args) {File file=new File("./test.txt");if (file.exists()){System.out.println("删除文件:"+file.delete());}}
}

image-20230217000326607

3.3创建目录

booleanmkdir()
booleanmkdirs()
public class Mkdir {public static void main(String[] args) throws IOException {//File对象File file=new File("d:/JAVA/temp/test");//创建目录System.out.println("创建目录:"+file.mkdir());System.out.println("===================");//File对象File file1=new File("d:/JAVA/temp/test1/aaa/bbb/ccc");//创建多级目录System.out.println("创建多级目录:"+file1.mkdirs());}
}

image-20230217211235947

3.4文件名

String[]list()
File[]listFiles()
public class FileList {public static void main(String[] args) {File file=new File("d:/JAVA/temp");String[] list=file.list();System.out.println("文件名和目录名(String):"+Arrays.toString(list));File[] files=file.listFiles();System.out.println("文件名和目录名(File):"+ Arrays.toString(files));}
}

image-20230217212134793

3.5 文件重命名

booleanrenameTo()

3.6查看文件的可读性

booleancanRead()
booleancanWrite()
public class Permission {public static void main(String[] args) {File file=new File("d:/JAVA/temp/test/aaa.txt");System.out.println("是否可读"+file.canRead());System.out.println("是否可写"+file.canWrite());}
}

image-20230218131238400

image-20230218131307016

相关文章:

JAVA文件操作

JAVA文件操作 文章目录JAVA文件操作1.属性2.构造方法3.方法3.1创建文件3.2 文件删除3.3创建目录3.4文件名3.5 文件重命名3.6查看文件的可读性​ Java中通过 java.io.file类来对文件(目录)进行抽象的描述。注意, 有File对象时,不代表真实存在该文件。1.属…...

字符串匹配 - 模式预处理:BM 算法 (Boyer-Moore)

各种文本编辑器的"查找"功能(CtrlF),大多采用Boyer-Moore算法,效率非常高。算法简介在 1977 年,Robert S. Boyer (Stanford Research Institute) 和 J Strother Moore (Xerox Palo Alto Research Center) 共…...

RV1126笔记三十:freetype显示矢量字体

若该文为原创文章,转载请注明原文出处。 在前面介绍了使用取模软件,可以自定义OSD,这种做法相对不灵活,也无法变更,适用大部分场景。 如果使用opencv需要移植opencv,芯片资源相对要相比好,而且移植比freetype复杂。 这里记录下如何使用freetype显示矢量字体,使用fre…...

polkit pkexec 本地提权漏洞修复方案

polkit pkexec 本地提权漏洞 漏洞细节,polkit pkexec 中对命令行参数处理有误,导致参数注入,能够导致本地提权。 解决建议 1、无法升级软件修复包的,可使用以下命令删除pkexec的SUID-bit权限来规避漏洞风险: chmod 0…...

es-06聚合查询

聚合查询 概念 聚合(aggs)不同于普通查询,是目前学到的第二种大的查询分类,第一种即“query”,因此在代码中的第一层嵌套由“query”变为了“aggs”。用于进行聚合的字段必须是exact value,分词字段不可进行…...

面试知识点准备与总结——(并发篇)

目录线程有哪些状态线程池的核心参数sleep和wait的区别lock 与 synchronized 的异同volatile能否保证线程安全悲观锁和乐观锁的区别Hashtable 与 ConcurrentHashMap 的区别ConcurrentHashMap1.7和1.8的区别ThreadLocal的理解ThreadLocalMap中的key为何要设置为弱引用线程有哪些…...

Django框架之模型视图-URLconf

URLconf 浏览者通过在浏览器的地址栏中输入网址请求网站对于Django开发的网站,由哪一个视图进行处理请求,是由url匹配找到的 配置URLconf 1.settings.py中 指定url配置 ROOT_URLCONF 项目.urls2.项目中urls.py 匹配成功后,包含到应用的urls…...

操作系统闲谈06——进程管理

操作系统闲谈06——进程管理 一、进程调度 01 时间片轮转 给每一个进程分配一个时间片,然后时间片用完了,把cpu分配给另一个进程 时间片通常设置为 20ms ~ 50ms 02 先来先服务 就是维护了一个就绪队列,每次选择最先进入队列的进程&#…...

DaVinci 偏好设置:用户 - UI 设置

偏好设置 - 用户/ UI 设置Preferences - User/ UI Settings工作区选项Workspace Options语言Language指定 DaVinci Resolve 软件界面所使用的语言。目前支持英语、简体中文、日语、西班牙语、葡萄牙语、法语、俄语、泰语和越南语等等。启动时重新加载上一个工作项目Reload last…...

Nacos超简单-管理配置文件

优点理论什么的就不说了,按照流程开始配配置吧。登录Centos,启动Naocs,使用sh /data/soft/restart.sh将自动启动Nacos。访问:http://192.168.101.65:8848/nacos/账号密码:nacos/nacos分为两部分,第一部分准…...

基于微信小程序的中国各地美食推荐平台小程序

文末联系获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.…...

如何优雅的导出函数

在开发过程中,经常会引用外部函数。方法主要有两种: 方法一:包含头文件并制定lib位置 优点:使用简单缺点:lib和vs版本有关,不同的版本和编译模式可能导致编译失败 方法二:GetProcAddress 优…...

c++多重继承

1.概论多重继承是否有必要吗?这个问题显然是一个哲学问题,正确的解答方式是根据情况来看,有时候需要,有时候不需要,这显然是一句废话,有点像上马克思主义哲学或者中庸思。但是这个问题和那些思想一样&#…...

15_FreeRtos计数信号量优先级翻转互斥信号量

目录 计数型信号量 计数型信号量相关API函数 计数型信号量实验源码 优先级翻转简介 优先级翻转实验源码 互斥信号量 互斥信号量相关API函数 互斥信号量实验源码 计数型信号量 计数型信号量相当于队列长度大于1的队列,因此计数型信号量能够容纳多个资源,这在…...

二叉树(一)

二叉树(一)1.树的概念2.树的相关概念3.树的表示4.树在实际中的运用5.二叉树概念及结构6.特殊的二叉树7.二叉树的性质🌟🌟hello,各位读者大大们你们好呀🌟🌟 🚀🚀系列专栏…...

【SCL】1200案例:天塔之光数码管显示液体混合水塔水位

使用scl编写天塔之光&数码管显示&液体混合&水塔水位 文章目录 目录 文章目录 前言 一、案例1:天塔之光 1.控制要求 2.编写程序 3.效果 二、案例2:液体混合 1.控制要求 2.编写程序 三、案例3:数码管显示 1.控制要求 2.编写程序 3…...

5.1配置IBGP和EBGP

5.2.1实验1&#xff1a;配置IBGP和EBGP 实验目的 熟悉IBGP和EBGP的应用场景掌握IBGP和EBGP的配置方法 实验拓扑 实验拓扑如图5-1所示&#xff1a; 图5-1&#xff1a;配置IBGP和EBGP 实验步骤 IP地址的配置 R1的配置 <Huawei>system-view Enter system view, return …...

c++中超级详细的一些知识,新手快来

目录 2.文章内容简介 3.理解虚函数表 3.1.多态与虚表 3.2.使用指针访问虚表 4.对象模型概述 4.1.简单对象模型 4.2.表格驱动模型 4.3.非继承下的C对象模型 5.继承下的C对象模型 5.1.单继承 5.2.多继承 5.2.1一般的多重继承&#xff08;非菱形继承&#xff09; 5.2…...

[答疑]经营困难时期谈建模和伪创新-长点心和长点良心

leonll 2022-11-26 9:53 我们今年真是太难了……&#xff08;此处删除若干字&#xff09;……去年底就想着邀请您来给我们讲课&#xff0c;现在也没有实行。我想再和我们老大提&#xff0c;您觉得怎么说个关键理由&#xff0c;这样的形势合适引进UML开发流程&#xff1f; UML…...

计算机基础知识

计算机网络的拓扑结构 一、OSI 7层网络模型是指什么&#xff1f; 7层分别是什么&#xff1f;每层的作用是什么&#xff1f; OSI7层模型是 国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。 每层功能:&#xff08;自底向上&#xff09; 物理层:建立、…...

Java爬虫—WebMagic

一&#xff0c;WebMagic介绍WebMagic企业开发&#xff0c;比HttpClient和JSoup更方便一&#xff09;&#xff0c;WebMagic架构介绍WebMagic有DownLoad&#xff0c;PageProcessor&#xff0c;Schedule&#xff0c;Pipeline四大组件&#xff0c;并有Spider将他们组织起来&#xf…...

[软件工程导论(第六版)]第2章 可行性研究(复习笔记)

文章目录2.1 可行性研究的任务2.2 可行性研究过程2.3 系统流程图2.4 数据流图概念2.5 数据字典2.6 成本/效益分析2.1 可行性研究的任务 可行性研究的目的 用最小的代价在尽可能短的时间内确定问题是否能够解决。 可行性研究的3个方面 &#xff08;1&#xff09;技术可行性&…...

Mac下安装Tomcat以及IDEA中的配置

安装brew 打开终端输入以下命令&#xff1a; /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 搜索tomcat版本&#xff0c;输入以下命令&#xff1a; brew search tomcat 安装自己想要的版本&#xff0c;例…...

【Linux详解】——文件基础(I/O、文件描述符、重定向、缓冲区)

&#x1f4d6; 前言&#xff1a;本期介绍文件基础I/O。 目录&#x1f552; 1. 文件回顾&#x1f558; 1.1 基本概念&#x1f558; 1.2 C语言文件操作&#x1f564; 1.2.1 概述&#x1f564; 1.2.2 实操&#x1f564; 1.2.3 OS接口open的使用&#xff08;比特位标记&#xff09;…...

HomMat2d

1.affine_trans_region&#xff08;区域的任意变换&#xff09; 2.hom_mat2d_identity&#xff08;创建二位变换矩阵&#xff09; 3.hom_mat2d_translate&#xff08;平移&#xff09; 4.hom_mat2d_scale&#xff08;缩放&#xff09; 5.hom_mat2d_rotate&#xff08;旋转 &…...

Python3 JSON 数据解析

Python3 JSON 数据解析 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。 Python3 中可以使用 json 模块来对 JSON 数据进行编解码&#xff0c;它包含了两个函数&#xff1a; json.dumps(): 对数据进行编码。json.loads(): 对数据进行解码。 在 json 的编解码…...

Homebrew 安装遇到的问题

Homebrew 安装遇到的问题 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 文章目录Homebrew 安装遇到的问题前言一、安装二、遇到的问题1.提示 zsh: command not found: brew三、解决问题前言 使用 Homebrew 能够 安装 Apple&#xff08;或您的 Linux 系统&#…...

Metasploit框架基础(二)

文章目录前言一、Meatsplooit的架构二、目录结构datadocumentationlibmodulesplugins三、Measploit模块四、Metasploit的使用前言 Metasploit是用ruby语言开发的&#xff0c;所以你打开软件目录&#xff0c;会发现很多.rb结尾的文件。ruby是一门OOP的语言。 一、Meatsplooit的…...

c++容器

1、vector容器 1.1性质 a&#xff09;该容器的数据结构和数组相似&#xff0c;被称为单端数组。 b&#xff09;在存储数据时不是在原有空间上往后拓展&#xff0c;而是找到一个新的空间&#xff0c;将原数据深拷贝到新空间&#xff0c;释放原空间。该过程被称为动态拓展。 vec…...

Vue.js如何实现对一千张图片进行分页加载?

目录 vue处理一千张图片进行分页加载 分页加载、懒加载---概念介绍&#xff1a; 思路&#xff1a; 开发过程中&#xff0c;如果后端一次性返回你1000多条图片或数据&#xff0c;那我们前端应该怎么用什么思路去更好的渲染呢&#xff1f; 第一种&#xff1a;我们可以使用分页…...

正在建设的网站可以随时进入吗/快速提升排名seo

关于指向常量的指针的问题 在图书馆借了《Visual C面向对象与可视化程序设计》&#xff0c;决定要看完了&#xff0c;下面是刚刚开始&#xff0c;看第一章梳理C知识的其中一个问题。 在C中&#xff0c;试图把一个常量的地址赋给一个指针&#xff0c;会产生编译错误。为了解决…...

阜阳建设大厦网站/竞价推广价格

angularjs使用如果您还没有尝试过Angular&#xff0c;那么您会错过为什么人们说JavaScript是世界上最灵活的语言的原因。 Angular是唯一不会使MVC看起来像在猪上涂口红的框架。 如今&#xff0c;大多数框架只是现有工具的捆绑。 它们是一个集成的工具集&#xff0c;但不是很优…...

友情链接购买平台/seo 优化 工具

题目 正常情况下&#xff0c;数据包由起始码(16bit)、数据段(n字节,n<256)、结束码(16bit)三部分构成。起始码为0xFF00,结束码为0xFF01。在一个完整的数据包中&#xff0c;数据段部分不会出现起始码和结束码。请设计一个电路&#xff0c;在码流中检测完整且有效的数据包&am…...

三河做网站/2345网址导航电脑版

1. 基础选择器 Basics 名称 说明 举例 #id 根据元素Id选择 $("divId") 选择ID为divId的元素 element 根据元素的名称选择, $("a") 选择所有<a>元素 .class 根据元素的css类选择 $(".bgRed") 选择所用CSS类为 bgRed的元素 * 选择所有元素 $…...

网站里面的视频功能怎么做/产品营销策略有哪些

作者在开始讲正文之前先对读者做了一个小测验&#xff1a;换一个灯泡需要多少个程序员&#xff1f;(貌似换灯泡跟程序员关系不大&#xff09;&#xff0c;可能有三种答案&#xff1a; 1.根本不需要&#xff0c;因为灯泡根本没坏。 2.仅仅需要一名&#xff0c;但是需要耗费一整…...

手机社交网站模板/广州搜索排名优化

题目&#xff1a; 给定一棵二叉树&#xff0c;返回所有重复的子树。对于同一类的重复子树&#xff0c;你只需要返回其中任意一棵的根结点即可。 两棵树重复是指它们具有相同的结构以及相同的结点值。 示例 1&#xff1a; 1/ \2 3/ / \ 4 2 4/4下面是两个重复的子树&am…...