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高级语法笔记-文件及目录操作相关推荐

  1. Java高级语法笔记-文件操作-链表的存储

    代码如下: AfByteBuffer.java package my;import java.io.File; import java.io.FileInputStream; import java. ...

  2. Java高级语法笔记-文件读写(2)

    文件读写(2) int与byte[]之间的互相转化 使用java.nio.ByteBuffer类可以完成int到 byte[]的转换 byte[] buf = new byte[4]; int a = ...

  3. Java高级语法笔记-文件读写

    写文件:追加模式写入 在构造时第2个参数置为true,表示append new FileOutputStream(filename, true); 使用FileInputStream可以从文件中读取数 ...

  4. Java高级语法笔记-库的使用(jar)

    库的使用(jar) 开发一个有用的类,想给别人使用,但是不想把源代码给别人. Java里的库文件的形式 *.jar 可以将编译出的class文件打包成 *.jar格式,称为jar包.将jar包发给别人 ...

  5. Java高级语法笔记-模板类

    模板类 模板类用与表示通用的数据结构和算法. 例如,定义一个类List,表示通用链表(适用于任意对象的类型) 定义模板类: class List<T>{ } 使用模板类:创建List对象时 ...

  6. Linux 学习笔记 文件、目录操作与用户群组权限

    一.命令行提示符 1.1 命令行基础 bearpi:当前用户名,在@前是用户名 ubuntu:用户所在的域名,在@后面,这是我自定义的,默认应该是主机名 ~ 波浪线为目前所在目录,~代表家目录(hom ...

  7. Java高级语法笔记-反射机制(Reflection) (1)

    反射机制:在C/C++里面是没有的. 反射机制是Java的一个非常重要的机制.一些著名的应用框架都使用了此机制. java.lang.Class它是Java语法的一个基础类,用于描述一个class对象 ...

  8. Java高级语法笔记-枚举类型

    用enum定义枚举类型,即定义一些常量. public enum Weekday{ SUNDAY,MONDAY,TUESDAY,WEDNESDAY, THURSDAY,FRIDAY,SATURDAY ...

  9. Java高级语法笔记-匿名类(Anonymous Class)

    匿名类(Anonymous Class) 匿名内部类,简称匿名类:是内部类的一种化简写法. 基本写法如下: BaseType obj=new BaseType(){ //类的定义 } Java项目中匿 ...

最新文章

  1. Prometheus 如何做到“活学活用”,大牛总结的避坑指南
  2. vue封装第三方插件并发布到npm
  3. ArcGIS中的三种查询
  4. linux安装mysql、卸载mysql、设置mysql
  5. TensorFlow之tf.nn.dropout():防止模型训练过程中的过拟合问题
  6. python可以做哪些东西_自己总结的一些东西
  7. 【转载】栈溢出原理及实现
  8. HDOJ 1247 HDU 1247 Hat’s Words ACM 1247 IN HDU
  9. 教你如何创建一款属于自己的VSCode主题
  10. MySQL 如何查看表的存储引擎
  11. 贝叶斯网络分析软件Netica
  12. 两道CTF Reverse题目(windows平台)
  13. bitwise和shift arithmetic
  14. 创业者必学的六种植物[转]
  15. a 是指计算机的什么应用,计算机中AtoC是什么应用软件
  16. HomeBrew和HomeBrew Cask的安装和使用
  17. 分布式训练 - 多机多卡 (DDP)
  18. 字符串转化为RTF格式-RTF研究系列
  19. 数学之美—泰勒展开式
  20. 获得阿里Java开发P7岗“农村穷苦”小伙就得安于现状?

热门文章

  1. 教你一招:职场程序员,如何在人工智能时代做好职场发展规划?
  2. 基于hadoop架构的企业数字化转型,阿里数据中台实战案例
  3. 我要嫁给一个程序员你们怎么看?
  4. 一定要多读多记FreeEIM
  5. 数字42 它的C++二进制代码为 00101010
  6. 好的飞鸽传书2007未必是“语言律师”
  7. 飞鸽改变您的互联网生活
  8. 飞鸽传书不能传送文件
  9. 我说程序员要测试自己的代码,结果被怼!
  10. 喂,你经历过两三年前的前端开发吗?