【java】学习路径31-文件IO基本操作(未涉及到流)

一、初始化:
File f1 = new File("//Users//Shared//JavaIOTest//Test01.txt");
File f2 = new File("//Users//Shared//JavaIOTest","Test01.txt");
File fl = new File("//Users//Shared//JavaIOTest");
File f3 = new File(fl,"Test01.txt");
//注释:f1f2f3指向的是同一个文件。
二、判断
1、判断File类成员是否为目录
System.out.println(f1.isDirectory());
System.out.println(fl.isDirectory());
输出:
false
true
2、判断是否为文件
System.out.println(f1.isFile());
System.out.println(fl.isFile());
输出:
true
false
3、判断文件或目录是否存在
System.out.println(f1.exists());
System.out.println(fl.exists());
输出:
true
true
4、判断文件是否可写(可读就用canRead())
System.out.println(f1.canWrite());
System.out.println(fl.canWrite());
在macOS中,canWrite对应的是
“已锁定”。Windows中就是对应的是“只读”。
5、判断文件是否是隐藏的
System.out.println(f1.isHidden());
System.out.println(fl.isHidden());
在macOS系统下,可以通过terminal终端命令对文件或目录进行隐藏。
chflags hidden /xxx/xxx/xxx
可以通过以下命令取消隐藏:
chflags nohidden /xxx/xxx/xxx
三、创建
1、创建文件
注意使用createNewFile()的时候需要接收错误,接收错误一般使用抛出错误或者之前讲过的try catch语句。这里为了方便直接使用了throws。
public static void main(String[] args) throws Exception {
//创建文件
File fl = new File("//Users//Shared//JavaIOTest");
File newFile = new File(fl, "myNewTest02.txt");
boolean isSucceed = newFile.createNewFile();
System.out.println(isSucceed);
}
第一次运行的时候应该是输出true的,第二次再运行的时候便会输出false,因为该文件已经存在,不能重复输出。
2、创建目录
mkdir只能创建一级文件夹,mkdirs可以创建多级文件夹。
当前目录(/Users/Shared/JavaIOTest/)下没有文件夹。
//创建文件夹
File newDir = new File("//Users//Shared//JavaIOTest//First//Second");
System.out.println(newDir.mkdir());
System.out.println(newDir.mkdirs());
输出:
false
true
四、删除
只能删除空的文件夹xx.delete()
System.out.println((new File("//Users//Shared//JavaIOTest//First//Second")).delete());
五、重命名
renameTo()
fl.renameTo(new File("//Users//Shared//JavaIOTest(rename!)"));

六、移动
使用renameTo(),当在同一级目录中的时候,效果就是重命名。
当renameTo在不同的目录的时候,效果相当于移动。
也就是说renameTo是修改文件的目录属性,换句话说,就是修改文件的位置信息。
就上面的例子,我们把恢复刚才已改名的文件夹名字为“JavaIOTest”,然后把myNewTest02.txt移动到First目录中。
newFile.renameTo(new File("//Users//Shared//JavaIOTest//First//myNewTest02.txt"));

七、获取
1、获取名字
.getName() 返回String
2、获取父目录
.getParent() 返回String
3、获取最后修改时间
.lastModified() 返回String
4、获取文件字节数
.length() 返回int
5、获取当前目录我的所有文件与文件夹
.list() 返回String[]
.listFiles() 返回File[]
八、复制
使用copy(),需要抛异常。
【java】学习路径31-文件IO基本操作(未涉及到流)的更多相关文章
- Java学习笔记31(IO:Properties类)
Properties类,表示一个持久的j集,可以存在流中,或者从流中加载 是Hashtable的子类 map集合的方法都能用 用途之一:在开发项目中,我们最后交给客户的是一个编译过的class文件,客 ...
- Java学习-043-获取文件在目录中的路径
我们在日常的电脑使用中,经常需要在当前目录或当期目录及其子目录中查找文件,并获取相应的文件路径名.在我们的自动化测试中,也经常需要确认文件在目录中是否成功生成或已存在,因而我写了一个小方法来实现. 获 ...
- Java学习-010-创建文件夹源代码
此文源码主要为应用 Java 创建文件目录的源码.若有不足之处,敬请大神指正,不胜感激! 创建文件夹源代码如下所示: /** * @function 文件操作:创建文件夹.若文件夹不存在,则级联创建文 ...
- Java学习路径及练手项目合集
Java 在编程语言排行榜中一直位列前排,可知 Java 语言的受欢迎程度了. 实验楼上的[Java 学习路径]中将首先完成 Java基础.JDK.JDBC.正则表达式等基础实验,然后进阶到 J2SE ...
- APUE学习笔记3_文件IO
APUE学习笔记3_文件IO Unix中的文件IO函数主要包括以下几个:open().read().write().lseek().close()等.这类I/O函数也被称为不带缓冲的I/O,标准I/O ...
- Java学习-014-文本文件写入实例源代码(两种写入方式)
此文源码主要为应用 Java 读取文本文件内容实例的源代码.若有不足之处,敬请大神指正,不胜感激! 第一种:文本文件写入,若文件存在则删除原文件,并重新创建文件.源代码如下所示: /** * @fun ...
- Java学习-013-文本文件读取实例源代码(两种数据返回格式)
此文源码主要为应用 Java 读取文本文件内容实例的源代码.若有不足之处,敬请大神指正,不胜感激! 1.读取的文本文件内容以一维数组[LinkedList<String>]的形式返回,源代 ...
- Java学习-011-创建文件实例及源代码
此文源码主要为应用 Java 创建文件的源代码.若有不足之处,敬请大神指正,不胜感激! 创建文件的源代码如下所示: /** * @function 文件操作:创建文件.若文件不存在,则直接创建文件:若 ...
- Java学习路径(抛光砖)
这就是我刚刚在五孔问答中找到的Java学习路线图抛光砖价格.我个人认为,这条Java学习路线是可以的.它是2018年相对较新的Java学习路线,更符合企业就业标准. Java学习路径的第一阶段:Jav ...
随机推荐
- springboot执行流程
构造方法初始化,创建一个新的实例,这个应用程序的上下文要从指定的来源加载bean public SpringApplication(ResourceLoaderresourceLoader,Class ...
- 实现领域驱动设计 - 使用ABP框架 - 存储库
存储库 Repository 是一个类似于集合的接口,领域层和应用程序层使用它来访问数据持久性系统(数据库),以读写业务对象(通常是聚合) 常见的存储库原则是: 在领域层定义一个存储库接口(因为它被用 ...
- Error: $injector:modulerr Module Error
Failed to instantiate module app due to://实例化失败 Error: [$injector:modulerr] http://errors.angularjs. ...
- Linux YUM制作自己的yum repository
Linux YUM制作自己的yum repository 配置步骤: 1.通过网络发布自己的package目录 2.创建本地repository 3.配置自己的yum源 操作实现: 1 安装creat ...
- 一网打尽异步神器CompletableFuture
最近一直畅游在RocketMQ的源码中,发现在RocketMQ中很多地方都使用到了CompletableFuture,所以今天就跟大家来聊一聊JDK1.8提供的异步神器CompletableFutur ...
- 全国30m精度二级分类土地利用数据
数据下载链接:数据下载链接 引言 全国土地利用数据产品是以Landsat TM/ETM/OLI遥感影像为主要数据源,经过影像融合.几何校正.图像增强与拼接等处理后,通过人机交互目视解译的方法,将全国 ...
- Grammarly for Chrome-语法、用词自动检查
从语法和拼写到风格和语气,Grammarly帮助你消除写作错误,找到完美的词语来表达自己.当你在Gmail.Twitter.LinkedIn和几乎任何你发现自己在写作的地方写作时,你都会从Gramma ...
- springboot配置logback.xml
由于springboot框架自带log4j,因此我们只需配置下logback文件,即可, 在main/resources根目录下,新建logback-spring.xml文件,copy下述代码: &l ...
- 聊聊 C++ 中的四种类型转换符
一:背景 在玩 C 的时候,经常会用 void* 来指向一段内存地址开端,然后再将其强转成尺度更小的 char* 或 int* 来丈量一段内存,参考如下代码: int main() { void* p ...
- NOI / 1.4编程基础之逻辑表达式与条件分支讲解-01:判断数正负
总时间限制: 1000ms 内存限制: 65536kB 题目: 描述 给定一个整数N,判断其正负. 输入 一个整数N(-109 <= N <= 109) 输出 如果N > 0, 输出 ...