java基础:12.2 文本I/O(二)File类、遍历
发布日期:2022-04-04 06:36:30
浏览次数:21
分类:博客文章
本文共 3259 字,大约阅读时间需要 10 分钟。
在12.1 小节我对IO有了基本的认识。这一节主要是整理一下
1. File 类
首先,File属于的类:java.io.file类
。
斜杠/
是Java的目录分隔符
。 在Windows 中目录的分隔符是反斜杠(\)。
File 对象封装了文件或路径的属性
,但是它既不包括创建文件的方法,也不包括从/ 向文件读/ 写数据(称为数据输入输出,简称I/O) 的方法。为了完成I/O 操作,需要使用恰当的Java I/O 类创建对象。这些对象包含从/ 向文件读/ 写数据的方法。文本文件本质上是存储在磁盘上的字符。
//绝对路径 File f1 = new File("d:/Java"); System.out.println("f1的绝对路径:" + f1.getAbsolutePath()); //f1的绝对路径:d:\Java // 相对路径,相对于工作目录,如果在eclipse中,就是项目目录 File f2 = new File("java.exe"); System.out.println("f2的绝对路径:" + f2.getAbsolutePath()); //f2的绝对路径:F:\java\Day0312\Charp19\java.exe // 把f1作为父目录创建文件对象 File f3 = new File(f1, "java.exe"); System.out.println("f3的绝对路径:" + f3.getAbsolutePath()); //f3的绝对路径:d:\Java\java.exe
执行完上面的程序后,去对应的路径下我们并不能找到java.exe文件。这是为什么呢??
因为:构建一个File 实例并不会
在机器上创建一个文件。不管文件是否存在,都可以创建任意文件名的File 实例。可以调用File 实例上的exists()
方法来判断这个文件是否存在。
File f = new File("java.exe"); System.out.println("f的绝对路径:" + f.getAbsolutePath()); System.out.println("f的当前文件是" + f ); System.out.println("判断是否存在:"+ f.exists()); System.out.println("判断是否是文件夹:"+f.isDirectory()); System.out.println("判断是否是文件:"+f.isFile()); System.out.println("获取文件的长度:"+f.length()); long time = f.lastModified(); Date d = new Date(time); System.out.println("获取文件的最后修改时间:"+d); f.setLastModified(0); //设置文件修改时间为1970.1.1 08:00:00 //文件重命名 File f1 =new File("C++.exe"); f.renameTo(f1); System.out.println("把java.exe改名成了C++.exe"); System.out.println("注意: 需要在相应路径下确实存在java.exe文件,才可以看到对应的文件长度、修改时间等信息");
列举一些常用方法
File f = new File("d:/X1/xxx/java.exei");
f.list();
以字符串数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)
File[]fs= f.listFiles();
// 以文件数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)f.getParent();
// 以字符串形式返回获取所在文件夹f.getParentFile();
// 以文件形式返回获取所在文件夹f.mkdir();
// 创建文件夹,如果父文件夹xxx不存在,创建就无效f.mkdirs();
// 创建文件夹,如果父文件夹xxx不存在,就会创建父文件夹f.createNewFile();
// 创建一个空文件,如果父文件夹xxx不存在,就会抛出异常f.getParentFile().mkdirs();
// 所以创建一个空文件之前,通常都会创建父目录f.listRoots();
// 列出所有的盘符c: d: e: 等等f.delete();
// 刪除文件f.deleteOnExit();
// JVM结束的时候,刪除文件,常用于临时文件的删除 遍历当前文件夹
package FileIO;import java.io.File;import java.io.IOException;import java.util.Date;public class Test { public static void main(String[] args) { File f = new File("f:/HSM/"); File[] fs = f.listFiles(); if(null==fs) return; long minSize = Integer.MAX_VALUE; long maxSize = 0; File minFile = null; File maxFile = null; for (File file : fs) { if(file.isDirectory()) continue; if(file.length()>maxSize){ maxSize = file.length(); maxFile = file; } if(file.length()!=0 && file.length()
遍历所有子文件夹
package FileIO;import java.io.File;public class Test { static long minSize = Integer.MAX_VALUE; static long maxSize = 0; static File minFile = null; static File maxFile = null; //使用递归来遍历一个文件夹的子文件 public static void listFiles(File file){ if(file.isFile()){ if(file.length()>maxSize){ maxSize = file.length(); maxFile = file; } if(file.length()!=0 && file.length()
转载地址:https://www.cnblogs.com/l20902/p/10610887.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月12日 07时45分51秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Lua(十四)——元表
2019-04-27
Lua(十五)——协同程序
2019-04-27
Lua(十六)——文件
2019-04-27
Lua(十七)——面向对象
2019-04-27
Lua(十八)——错误处理,垃圾回收
2019-04-27
xLua(一)——介绍
2019-04-27
xLua(二)——下载
2019-04-27
xLua(三)——在C#中访问Lua代码
2019-04-27
xLua(四)——C#访问Lua的基本类型
2019-04-27
xLua(五)——C#访问Lua的table
2019-04-27
xLua(六)——C#访问Lua的function
2019-04-27
基础知识——常用单位介绍
2019-04-27
xLua(七)——Lua访问C#(一)
2019-04-27
xLua(八)——Lua访问C#(二)
2019-04-27
Unity中实现解析Json文件
2019-04-27
Unity自带Json解析库——JsonUtility
2019-04-27
Unity中使用ViedoPlayer操作视频文件
2019-04-27
C#中的的输入与输出
2019-04-27
C#中@符号的作用
2019-04-27
C#中$符号的作用
2019-04-27