java中的IO操作之File类

Java的集合框架:  类和接口存在于java.util包中.

JavaIO:               类和接口存在于java.io包中.

学习方法:  文档在手,天下我有!

-----------------------------------------------------------------------------------------

讲IO操作之前,必须要先讲File类(文件/目录).

-----------------------------------------------------------------------------------------

File类介绍和路径分隔符:

File类是IO包中唯一表示磁盘文件磁盘目录的对象的路径.

该类包含了创建,删除文件,重命名文件,判断文件读写权限以及文件是否存在,查询等功能方法.

只能设置和获取文件本身的信息,不能设置和获取文件的内容.

-----------------------------------------------------------------------------------------

Java做开发:一次编写,到处运行.

Unix:  严格区分大小写.

WIndows: 默认情况下是不区分大小写的.

路径分隔符,属性分隔符:

Unix:          使用”/”,来分割目录路径.               使用:来分割属性.

Windows:  使用”\”,来分割目录路径.但是在Java中一个”\”表示转义,在Windows平台的Java代码中表示一个路径,就得使用两个\\. 但是Windows支持/.                 使用;来分割属性.

-----------------------------------------------------------------------------------------

因为我们不知道以后运行的系统平台是什么,就不知道该如何编写分隔符的问题,因此在File类中提供了两类常量,分别来表示路径分隔符和属性分隔符.

字段摘要
static StringpathSeparator
          与系统有关的路径分隔符,为了方便,它被表示为一个字符串。
static charpathSeparatorChar
          与系统有关的路径分隔符。
static Stringseparator
          与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。
static charseparatorChar
          与系统有关的默认名称分隔符

获取File路径和检测状态:

操作File路径和名称:

FilegetAbsoluteFile() :获取绝对路径

StringgetAbsolutePath():获取绝对路径

StringgetPath() :获取文件路径

StringgetName() :获取文件名称

FilegetParentFile():获取上级目录文件

StringgetParent() :获取上级目录路径

检测File状态的方法:

booleancanExecute() :判断是否是可执行文件

booleancanRead() :判断该文件是否可读

booleancanWrite():判断该文件是否可写

booleanisHidden():判断该文件是否是隐藏文件

longlastModified():判断该文件的最后修改时间

longlength():获取该文件的长度大小(单位字节)


File类中方法-文件操作:

booleanisFile() :是否是文件

booleancreateNewFile() :创建新的文件

staticFile createTempFile(String prefix, String suffix) :创建临时文件

booleandelete() :删除文件

voiddeleteOnExit() :在JVM停止时删除文件

booleanexists():判断文件是否存在

booleanrenameTo(File dest) :重新修改名称

---------------------------------------------------------------------

File类中方法-目录操作

booleanisDirectory() :判断是否是目录

booleanmkdir()  :创建当前目录

booleanmkdirs() :创建当前目录和上级目录

String[]list() :列出所有的文件名

File[]listFiles() :列出所有文件对象

staticFile[] listRoots() :列出系统盘符


代码练习:

package IO;import java.io.File;public class CharFileCopy {public static void main(String[] args) {File file = new File("file");File[] files = file.listFiles();for (File file2 : files) {System.out.println(file2.getName());}}}

批量修改文件名:

package IO;import java.io.File;
import java.io.FilenameFilter;public class UpdateFileName {public static void main(String[] args) {File file = new File("F:/day/项目/Lanqiao/file");File[] files = file.listFiles();	String deleteText = "天津";String newName = null;for (File name : files) {System.out.println(name.getName());if(name.getName().contains(deleteText)){//此处用到了字符串替换方法newName = name.getName().replace(deleteText, "");name.renameTo(new File(file,newName));}}}}

文件过滤器:

		//获取源File srcfile = new File("file"); File[] files = srcfile.listFiles(new FilenameFilter() {@Overridepublic boolean accept(File dir, String name) {return (new File(dir,name).isFile()&&name.endsWith(".txt"));}});


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

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

相关文章

数据结构实验之二叉树三:统计叶子数

题目描述 已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并求二叉树的叶子结点个数。 输入 连续输入多组数据,每组数据输入一个长度小于50个字符的字符串。 输出 输出二叉树的叶子结点个数。 示例输入 ab…

企业需要的C++程序员

今天对智联招聘网站和前程无忧招聘网站对“任职要求"一栏进行了相关技术要求作了简要的统计,主要提取的是在任职要求中明确提到的信息,招聘城市针对长沙和深圳,招聘公司为随机抽取,列了以下技术要求出现的次数。希望在自己的…

ElasticSearch 新增节点,横向扩容

文章目录查看当前ES状态新增节点配置遇到的问题查看当前ES状态 这里默认都是在Kibana进行操作 GET _cluster/health{"cluster_name" : "bjga-gz","status" : "yellow","timed_out" : false,"number_of_nodes" :…

输入和输出(IO)概述

什么是IO:(Input/Output):输入和输出. IO设备: 和电脑通信的设备. 输入设备:麦克风,扫描器,键盘,鼠标等. 输出设备:显示器,打印机,投影仪,耳机,音响等. 为什么程序需要IO呢? 案例1:打游戏操作,得分比较高,存储游戏的信息(XXX-888分). 此时需要把游戏中的数据存储起来,只能…

求二叉树的深度

题目描述 已知一颗二叉树的中序遍历序列和后序遍历序列&#xff0c;求二叉树的深度。 输入 输入数据有多组&#xff0c;输入T组数据。每组数据包括两个长度小于<font face"\"Times" new"" roman,"" serif\""" style"…

优秀的程序员怎么做

我觉得优秀的程序员&#xff0c;不仅优秀在代码上&#xff0c;更重要在思维等方面。 我认为一个优秀程序员是谨慎的&#xff0c;在有需求与任务时&#xff0c;会不断的澄清需求与任务&#xff0c;并且多次确认想要的结果&#xff0c;而非闷头听着或者看着需求与任务列表。 我…

Linux 挂载磁盘目录

文章目录查看Linux磁盘信息格式化磁盘挂载修改重启后自动挂载fstab 文件格式介绍卸载查看Linux磁盘信息 [rootb001 ~]# fdisk -lDisk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 sectors Units sectors of 1 * 512 512 bytes Sector size (logical/physical): 512 by…

linux学习路线

很多同学接触Linux不多&#xff0c;对Linux平台的开发更是一无所知。而现在的趋势越来越表明&#xff0c;作为一个优秀的软件开发人员&#xff0c;或计算机IT行业从业人员&#xff0c;掌握Linux是一种很重要的谋生资源与手段。下来我将会结合自己的几年的个人开发经验&#xff…

java中有关文件流的操作

文件流: 顾名思义,程序和文件打交道. 此时我们谈及的文件,值得是纯文本文件(txt的,不要使用Word,Excel), 在字节流中,暂时不要使用中文. FileInputStream: 文件的字节输入流 FileOutputStream: 文件的字节输出流 FileReader:文件的字符输入流 FileWriter:文件的字符输出流…

数据结构实验之二叉树一:树的同构

题目描述 给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2&#xff0c;则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的&#xff0c;因为我们把其中一棵树的结点A、B、G的左右孩子互换后&#xff0c;就得到另外一棵树。而图2就不是同构的。 图1 …

Linxu服务器文件双向同步 rsync+sersync 详细讲解

文章目录Linxu服务器文件双向同步 rsyncsersync基础信息安装rsync安装配置根据配置文件创建相应的目录、文件、防火墙规则创建需要同步的目录创建同步用户防火墙启动rsyncd服务测试异常处理sersync安装sersync配置test21配置test22配置sersync启动test21启动test22启动测试新增…

resize和reverse的区别

首先&#xff0c;两个函数的功能是有区别的&#xff1a; reserve是容器预留空间&#xff0c;但并不真正创建元素对象&#xff0c;在创建对象之前&#xff0c;不能引用容器内的元素&#xff0c;因此当加入新的元素时&#xff0c;需要用push_back()/insert()函数。 resize是…

数据结构实验之二叉树五:层序遍历

题目描述 已知一个按先序输入的字符序列&#xff0c;如abd,,eg,,,cf,,,(其中,表示空结点)。请建立二叉树并求二叉树的层次遍历序列。 输入 输入数据有多行&#xff0c;第一行是一个整数t (t<1000)&#xff0c;代表有t行测试数据。每行是一个长度小于50个字符的字符串。输出 …

java中字符编码详解

字符编码的发展历程: 阶段1: 计算机只认识数字,我们在计算机里一切数据都是以数字来表示,因为英文符号有限, 所以规定使用的字节的最高位是0.每一个字节都是以0~127之间的数字来表示,比如A对应65,a对应97. 这就是美国标准信息交换码-ASCII. 阶段2: 随着计算机在全球的普及…

Elasticsearch Pipeline 详解

文章目录Ingest Node简介 Ingest Node简介 Pipeline、ProcessorsPipeline 定义简介 Simulate Pipeline API访问 Pipeline 中的内容Processors 类型详解Append ProcessorConvert ProcessorDate ProcessorDate Index Name ProcessorFail ProcessorForeach ProcessorGrok Processo…

java中的包装流和缓冲流概述

处理流/包装流(相对于节点流更高级)装饰设计模式/包装模式: 1:隐藏了底层的节点流的差异,并对外提供了更方便的输入/输出功能,让我们只关心高级流的操作. 2:使用处理流包装了节点流,程序直接操作处理流,让节点流与底层的设备做IO操作. 3:只需要关闭处理流即可. 包装流如何区…

数据结构实验之二叉树七:叶子问题

题目描述 已知一个按先序输入的字符序列&#xff0c;如abd,,eg,,,cf,,,(其中,表示空结点)。请建立该二叉树并按从上到下从左到右的顺序输出该二叉树的所有叶子结点。 输入 输入数据有多行&#xff0c;每一行是一个长度小于50个字符的字符串。输出 按从上到下从左到右的顺序输出…

vi/vim 光标移动命令

移动光标 上:k nk:向上移动n行 9999k或gg可以移到第一行 G移到最后一行 下:j nj:向下移动n行 左:h nh:向左移动n列 右:l nl:向右移动n列 w&#xff1a;光标以单词向前移动 nw&#xff1a;光标向前移动n个单词 光标到单词的第一个字母上 b&#xff1a;与w相反 e: 光标以单词向前…

CentOS离线安装httpd服务

文章目录需求背景安装需求背景 需要在无网络环境下安装httpd服务 安装 提示&#xff1a;直接下载httpd离线安装包无法安装成功&#xff0c;需要安装相对应的依赖 需要下载的依赖如下&#xff1a; apr-1.4.8-5.el7.x86_64.rpm apr-util-1.5.2-6.el7.x86_64.rpm apr-util-lda…

转换流和内存流

转换流:把字节流转成字符流: InputStreamReader:把字节输入流转成字符输入流. OutputStreamWriter:把字节输出流转成字符输出流. 为什么有字节转字符流,没有字符转字节流. 字节流可以操作一切文件(纯文本文件/二进制文件).字符流是用来操作中文纯文本使用的,本身是对字节流的…