Java高级语法笔记-文件及目录操作
java.io.File 用于表示一个文件或目录的路径名(pathname)
例如:
File f = new File("c:/example/123.txt");先判断它是否存在
if(f.exists())然后再看它是一个目录,还是一个文件
if(f.isDirectory())
else if(f.isFile())
文件属性
如果f.exists() && f.isFile() ,则可以查看文件的属性
f.canExecute() 是否可执行
f.canRead() 是否可读
f.canWrite() 是否可写
f.isHidden() 是否为隐藏文件
f.length() 文件的大小 (单位: byte)
f.lastModified() 最后修改时间 (返回毫秒值)
f.getName() 文件名 ( 例如, "abc.txt",不含路径)
文件操作
如果f.exists() && f.isFile() ,则可以执行以下操作
f.delete() 删除文件 (但不一定成功删除)
f.renameTo() 重命名 (相当于move)
f.setExecutable() 设置可执行属性
f.setReadable() 设置可读属性
f.setWritable() 设置可写属性
f.setLastModified() 更新最后修改时间
目录操作
如果d.exists() && d.isDirectory(), 则可以对此
目录执行以下操作
d.renameTo() 文件夹改名
d.delete() 删除文件夹 (但不一定能成功删除)
其他的可读、可写、可执行属性,要看文件系统本
身是否支持。。。
目录操作
设置过滤器,例如,只列出 *.mp4
FileFilter filter = new FileFilter(){
@Override
public boolean accept(File pathname)
{
if(pathname.getName().endsWith(".mp4"))
return true;
return false;
}
};
File[] children = d.listFiles(filter);
代码如下:
package my;import java.io.File;
import java.io.FileFilter;
import java.io.IOException;public class HelloWorld
{public static void test1() {File f=new File("c:/111.txt");if(f.exists()) {if(f.isDirectory()) System.out.println("是个目录!");else if(f.isFile()) System.out.println("是个文件!");else System.out.println("不存在!");}long length=f.length();System.out.println("文件大小为:"+length);}public static void test2() {File d=new File("E:\\迅雷下载");//创建过滤器FileFilter filter=new FileFilter() {@Overridepublic boolean accept(File pathname){if(pathname.getName().endsWith(".iso"))return true;return false;}};//列表File[] chidren=d.listFiles(filter);for(File child:chidren) {System.out.println("got:"+child);}}public static void test3() {File d1=new File("c:/example/aaa");File d2=new File(d1,"../bbb");//相对路径c:\example\aaa\..\bbbFile a1=d2.getAbsoluteFile();System.out.println("a1:"+a1);try {//转换为标准路径:C:\example\bbbFile a2=d2.getCanonicalFile();System.out.println("a2:"+a2);}catch(IOException e){e.printStackTrace();}}public static void main(String[] args){ test1();test2();test3();}
}
运行结果如下:
Java高级语法笔记-文件及目录操作相关推荐
- Java高级语法笔记-文件操作-链表的存储
代码如下: AfByteBuffer.java package my;import java.io.File; import java.io.FileInputStream; import java. ...
- Java高级语法笔记-文件读写(2)
文件读写(2) int与byte[]之间的互相转化 使用java.nio.ByteBuffer类可以完成int到 byte[]的转换 byte[] buf = new byte[4]; int a = ...
- Java高级语法笔记-文件读写
写文件:追加模式写入 在构造时第2个参数置为true,表示append new FileOutputStream(filename, true); 使用FileInputStream可以从文件中读取数 ...
- Java高级语法笔记-库的使用(jar)
库的使用(jar) 开发一个有用的类,想给别人使用,但是不想把源代码给别人. Java里的库文件的形式 *.jar 可以将编译出的class文件打包成 *.jar格式,称为jar包.将jar包发给别人 ...
- Java高级语法笔记-模板类
模板类 模板类用与表示通用的数据结构和算法. 例如,定义一个类List,表示通用链表(适用于任意对象的类型) 定义模板类: class List<T>{ } 使用模板类:创建List对象时 ...
- Linux 学习笔记 文件、目录操作与用户群组权限
一.命令行提示符 1.1 命令行基础 bearpi:当前用户名,在@前是用户名 ubuntu:用户所在的域名,在@后面,这是我自定义的,默认应该是主机名 ~ 波浪线为目前所在目录,~代表家目录(hom ...
- Java高级语法笔记-反射机制(Reflection) (1)
反射机制:在C/C++里面是没有的. 反射机制是Java的一个非常重要的机制.一些著名的应用框架都使用了此机制. java.lang.Class它是Java语法的一个基础类,用于描述一个class对象 ...
- Java高级语法笔记-枚举类型
用enum定义枚举类型,即定义一些常量. public enum Weekday{ SUNDAY,MONDAY,TUESDAY,WEDNESDAY, THURSDAY,FRIDAY,SATURDAY ...
- Java高级语法笔记-匿名类(Anonymous Class)
匿名类(Anonymous Class) 匿名内部类,简称匿名类:是内部类的一种化简写法. 基本写法如下: BaseType obj=new BaseType(){ //类的定义 } Java项目中匿 ...
最新文章
- Prometheus 如何做到“活学活用”,大牛总结的避坑指南
- vue封装第三方插件并发布到npm
- ArcGIS中的三种查询
- linux安装mysql、卸载mysql、设置mysql
- TensorFlow之tf.nn.dropout():防止模型训练过程中的过拟合问题
- python可以做哪些东西_自己总结的一些东西
- 【转载】栈溢出原理及实现
- HDOJ 1247 HDU 1247 Hat’s Words ACM 1247 IN HDU
- 教你如何创建一款属于自己的VSCode主题
- MySQL 如何查看表的存储引擎
- 贝叶斯网络分析软件Netica
- 两道CTF Reverse题目(windows平台)
- bitwise和shift arithmetic
- 创业者必学的六种植物[转]
- a 是指计算机的什么应用,计算机中AtoC是什么应用软件
- HomeBrew和HomeBrew Cask的安装和使用
- 分布式训练 - 多机多卡 (DDP)
- 字符串转化为RTF格式-RTF研究系列
- 数学之美—泰勒展开式
- 获得阿里Java开发P7岗“农村穷苦”小伙就得安于现状?