Java中操作文件(一)

目录

一、引入

二、File概述

2.1、属性 

2.2、构造方法 

2.3、方法 

2.4、代码示例

示例1

示例2 

示例3 

示例4

示例5

示例6

示例7 

示例8


一、引入

文件是操作系统中的重要概念,Java作为一个跨平台语言,可以针对不同的操作系统处理文件。比如说windows与linux组织文件的方式是不同的,Java对不同系统的处理文件的API做了一定的封装,在jdk中提供了一个FIie类,程序员可以利用这个类来操作文件。

二、File概述

2.1、属性 

修饰符及类型属性说明
static StringpathSeparetor依赖于系统的路径分隔符,String类型的表示
Static char pathSeparetor依赖于系统的路径分隔符,char类型来表示

2.2、构造方法 

签名

说明

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

2.3、方法 

修饰符及返回值类型方法签名说明
StringgetParent()返回File对象的父目录文件路径
String getName()返回File对象的纯文件名称
String getPath()返回File对象的文件路径
String getAbsolutePath()返回File对象的相对路径
String getCanonicalPath()返回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 name)进行文件改名,也可以视为我们平时的剪切、粘贴操作
booleancanRead()判断用户是否对文件有可读权限
booleancanWrite()判断用户是否对文件有可写权限

2.4、代码示例

示例1

创建文件对象

import java.io.File;/*** 常见的创建文件的不同的构造方法*/
public class Exe_02 {public static void main(String[] args) {File file=new File("D:\\study");System.out.println(file);File file1=new File(file,"document\\小黑子珍藏集");System.out.println(file1);File file2=new File("D:\\study\\document\\小黑子珍藏集");System.out.println(file2);File file3=new File("D:\\study\\document","小黑子珍藏集");System.out.println(file3);}
}

new File()文件创建方式并不要求文件是真实存在的。想要验证可以加上文件名.exists()打印出False。

示例2 

打印文件路径 

import java.io.File;
import java.io.IOException;/*** 文件路径*/
public class Exe_03 {public static void main(String[] args) throws IOException {System.out.println("=======用绝对路径创建文件=======");File file=new File("D:/蔡徐鸡/唱/跳/rap");//获取文件信息System.out.println(file.getPath());//文件路径System.out.println(file.getParent());//父目录文件路径System.out.println(file.getName());//纯文件名称System.out.println(file.getCanonicalFile());//修饰过的相对路径System.out.println(file.getAbsoluteFile());//绝对路径System.out.println("=======用相对路径创建文件=======");File file1=new File("./rap");//获取文件信息System.out.println(file1.getPath());//文件路径System.out.println(file1.getParent());//父目录文件路径System.out.println(file1.getName());//纯文件名称System.out.println(file1.getCanonicalFile());//修饰过的相对路径System.out.println(file1.getAbsoluteFile());//绝对路径System.out.println(file1.exists()); //文件并不是真实存在的}
}

file.getCanonicalFile():修饰过的绝对路径,获取绝对路径通常使用的方法。 

示例3 

文件是否存在,如果文件存在,那么就不能重复创建文件 


import java.io.File;
import java.io.IOException;/***文件是否存在,如果文件存在,就不能重复创建*/
public class Exe_04 {public static void main(String[] args) throws IOException {//创建File对象File file=new File("./test.txt");//判断文件是否真实存在System.out.println("文件是否真实存在"+file.exists());//判断文件是不是一个文件System.out.println("文件是不是同一个文件"+file.isFile());//判断文件是不是同一个目录System.out.println("文件是不是同一个目录"+file.isDirectory());//创建一个真实的文件System.out.println("文件是否创建成功"+file.createNewFile());//判断文件是否真实存在System.out.println("文件是否存在--》"+file.exists());//判断文件是不是一个文件System.out.println("文件是不是一个文件"+file.isFile());//判断文件是不是一个目录System.out.println("文件是不是一个目录"+file.isDirectory());//打印文件路径System.out.println("文件绝对路径"+file.getCanonicalFile());}
}

 

示例4

删除文件


import java.io.File;/*** 删除文件对象*/
public class Exe_05 {public static void main(String[] args) {//创建文件对象File file=new File("./test.txt");if(file.exists()){System.out.println("删除文件"+file.delete());}}
}

示例5

创建目录


import java.io.File;//创建目录
public class Exe_06 {public static void main(String[] args) {//创建文件对象File file=new File("D:/study/小黑子");//创建目录System.out.println("创建目录"+file.mkdir());System.out.println("==============");//创建File对象File file1=new File("D:/study/小黑子/他真的很努力/iKun");//创建多级目录System.out.println("创建多级目录"+file1.mkdirs());}
}

示例6

获取文件名和目录名信息

/*** list和listFiles*/import java.io.File;
import java.util.Arrays;public class Exe_07 {public static void main(String[] args) {//创建File对象File file=new File("D:/study");//获取所有文件信息String[] list=file.list();System.out.println("文件名和目录名String类型"+ Arrays.toString(list));//获取所有文件信息File[] files=file.listFiles();System.out.println("文件名和目录名File类型"+Arrays.toString(files));}
}

 

示例7 

文件重命名

import java.io.File;/*** 文件重命名*/
public class Exe_08 {public static void main(String[] args) {//创建两个File对象File sourceFile=new File("D:study/java/练习时长两年半");File targetFile=new File("D:study/java/你们为什么不放过他");//调用重命名方法System.out.println("文件重命名"+sourceFile.renameTo(targetFile));}
}

示例8

判断文件是否可读可写

/*** 判断文件是否可读可写*/import java.io.File;public class Exe_09 {public static void main(String[] args) {File file=new File("D:/study/小黑子/鸡哥写真集.docx");System.out.println("是否可读"+file.canRead());System.out.println("是否可写"+file.canWrite());}
}

可以将“鸡哥写真集.docx” 的属性改为只读类型

 再次强调一下File类只是Java层面的一个对象,对应的文件并不一定要在系统中存在要区分开Java对象和系统文件的区别

File只是对文件信息进行操作,创建,获取,删除,列表,重命名但没有对文件内容进行操作--读取和写入(Input/Output) IO.

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

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

相关文章

linux下查看cpu使用率和内存占用

top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器,下面详细介绍它的使用方法; top是一个动态显示过程,即可通过用户按键来不断刷新当前状态。如果在前台…

【Android】解决 build项目报错manifest merge fail XXX

报错图片: 解决方式: 找到 AndroidManifest.xml文件,找到找到文件的上一级,加上android:exported“true” 作用:Android:exported true 在Activity中该属性用来标示:当前Activity是否可以被另一个Application的组件启…

Mybatis 核心分析

一、Mybatis 整体执行流程 二、MyBatis的整体架构体系 三、详情 概述:对应 session 模块。 接口层相对简单,其核心是 SqlSession 接口,该接口中定义了 MyBatis 暴露给应用程序调用的 API,也就是上层应用与 MyBatis 交互的桥梁。接…

增强深度学习与对抗训练对癫痫发作的鲁棒预测

标题:Augmenting Deep Learning with Adversarial Training for Robust Prediction of Epilepsy Seizures Abstract: 癫痫是一种慢性疾病,涉及异常的大脑活动,导致患者失去对意识或运动活动的控制。因此,在癫痫发作之前检测出癫…

使用TIA博途自带的函数实现用户登录并显示用户名的具体方法

使用TIA博途自带的函数实现用户登录并显示用户名的具体方法 本例以TP1200 Comfort精智触摸屏为例进行说明: 如下图所示,打开TIA博途软件,添加一个TP1200触摸屏,找到左侧项目树中的“用户管理”,添加一个用户:abc,密码:1234, 如下图所示,添加一个画面,这里命名为:…

12.JavaWeb-Node.js

1.Node.js的概念 传统的Web服务器中,每个请求都会创建一个线程,这会导致线程数的增加,从而影响服务器的性能和扩展性,Ryan Dahl借助Chrome的V8引擎提供的能力实现了Node.js——可以在服务端运行的JavaScript(可以把Nod…

利用Dockerfile构建带sshd、jdk服务的自定义镜像

什么是Dockerfile? Dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像 dockerfile 的基本结构 Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。 一般的,Dockerfile 分为四部分&#…

TypeScript 5.1发布,新功能更新

文章目录 1:返回类型增加undefined2:getter可以设置和 setter 的不相关类型3:对 JSX 元素和 JSX 标签的异步支持4:支持命名空间属性名称 JSX5:typeRoots在模块更新6:JSX 标签的链接游标7:param …

PHP:查询数据库,并将数据传给前端(在script中直接嵌套php语句)

例子&#xff1a;在php中定义数据&#xff0c; 并将数据通过js在控制台输出 <script><?php// 在这里插入你的PHP代码&#xff0c;例如执行查询操作获取数据$data array(array(name > Alice, age > 25),array(name > Bob, age > 30),array(name > Ch…

4.39ue4:ue4表格设置、读取

1.创建表格&#xff0c;内容浏览器&#xff0c;右键&#xff0c;其他&#xff0c;数据表格&#xff0c;下拉选择一个数据结构类型的起始项。 2.被选择的数据结构将以表格的形式列出数据。 3.使用方式&#xff1a; i: 输出一行数据&#xff08;text&#xff09; ii&#xff…

SparkSQL的数据结构DataFrame构建方式(Python语言)

SparkSQL 是Spark的一个模块, 用于处理海量结构化数据&#xff0c;其提供了两个操作SparkSQL的抽象&#xff0c;分别是DataFrame和DataSet&#xff0c;spark2.0之后&#xff0c;统一了DataSet和DataFrame&#xff0c;以后只有DataSet。 以Python、R语言开发Spark&#xff0c;使…

SpringBoot 的 概念、创建和运行

目录 1.什么是Spring Boot&#xff1f; 为什么要学Spring Boot&#xff1f; SpringBoot的优点 Spring Boot 项目创建 前置工作&#xff1a;配置国内源 使用 idea 创建 Spring Boot 项目 网页版创建&#xff08;了解&#xff09; 拓展&#xff1a;删除 项目中无用的目录和…