常用操作:

         File f = new File("C:\\testdata\\filedir\\a\\b\\c");
f.mkdir(); //建立单级目录
f.mkdirs(); //建立多级目录
         File f = new File("C:\\testdata\\filedir\\a.txt");
f.createNewFile(); //创建文件
System.out.println("文件是否存在:" + f.exists());
System.out.println("是否是文件:" + f.isFile());
f.delete(); //删除file
f.exists(); //文件或目录是否存在
f.getName(); //得到file名字
f.getPath(); //获取文件的完整路径
f.isDirectory(); //file是否是文件夹
f.isFile(); //file是否是文件
f.length(); //file的长度,返回long,单位字节

创建File对象的另一种方式:

     /*创建File对象的另一种方式*/
// 此时f2是文件,parent文件夹下的child文件
File f2 = new File("parent","child");
// 注意:此时会在c盘下创建文件“d.txt”
File f3 = new File("c:\\", "d.txt");
f3.createNewFile();

list()和listFiles()的区别:

         File f = new File("C:\\testdata\\filedir");
/* 返回String[]数组.里面包含了f一级目录下的文件和文件夹名.
注意: 如果f:\\a\\b.那么b不会包含在数组中 */
String[] fileStrs = f.list();
for (String s : fileStrs) {
System.out.println(s);
}
/* 返回File[] 数组.里面包含了f一级目录下的文件和文件夹.
注意:如果f:\\a\\b.那么b不会包含在数组中 */
File[] files = f.listFiles();
for (File ff : files) {
System.out.println(ff);
}

文件过滤:

         /*文件过滤器*/
File f1 = new File("C:\\testdata\\filedir");
String[] fileStrs = f1.list(new FilenameFilter() {
/**
* dir:需要被过滤的文件夹
* name:需要别被过滤的文件名,此名是相对路径
* 如果返回true,则证明是符合条件的文件,会将改文件名返回到数组中
*/
@Override
public boolean accept(File dir, String name) {
File f = new File(dir, name);
if (f.isDirectory()) {
return false;
} if (f.getName().endsWith("txt")) {
return true;
}
return false;
}
});
for (String s : fileStrs) {
System.out.println(s);
}

Java之File类详解的更多相关文章

  1. java中File类详解

    构造函数 代码如下: public class FileDemo {     public static void main(String[] args){         //构造函数File(St ...

  2. java之StringBuffer类详解

    StringBuffer 线程安全的可变字符序列. StringBuffer源码分析(JDK1.6): public final class StringBuffer extends Abstract ...

  3. java之AbstractStringBuilder类详解

    目录 AbstractStringBuilder类 字段 构造器 方法   public abstract String toString() 扩充容量 void  expandCapacity(in ...

  4. java之StringBuilder类详解

    StringBuilder 非线程安全的可变字符序列 .该类被设计用作StringBuffer的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍).如果可能,建议优先采用该类,因为在 ...

  5. java.lang.Thread类详解

    java.lang.Thread类详解 一.前言 位于java.lang包下的Thread类是非常重要的线程类,它实现了Runnable接口,今天我们来学习一下Thread类,在学习Thread类之前 ...

  6. Java中dimension类详解

    Java中dimension类详解 https://blog.csdn.net/hrw1234567890/article/details/81217788

  7. java之Matcher类详解

    在JDK 1.4中,Java增加了对正则表达式的支持. java与正则相关的工具主要在java.util.regex包中:此包中主要有两个类:Pattern.Matcher. Matcher  声明: ...

  8. java的ReentrantLock类详解

    ReentrantLock 能用于更精细化的加锁的Java类, 通过它能更清楚了解Java的锁机制 ReentrantLock 类的集成关系有点复杂, 既有内部类, 还有多重继承关系 类的定义 pub ...

  9. 【56】java本地文件File类详解

    1.java类的介绍 public class File extends Object implements Serializable, Comparable<File> 文件和目录路径名 ...

随机推荐

  1. Android cannot be cast to android.app.Fragment

    10-21 17:33:45.171: E/AndroidRuntime(7644): java.lang.RuntimeException: Unable to start activity Com ...

  2. 学习笔记---gson

    1.gson变量定义注解 @SerializedName("char") private String charm;//mongo转化char 2.gson中json文件转化成类 ...

  3. centos 7 配置iptables(转) + iptabes规则理解

    一.防火墙配置 1.检测并关闭firewall 1 2 3 4 5 systemctl status firewalld.service #检测是否开启了firewall   systemctl st ...

  4. 20155338《网络对抗》Web安全基础实践

    20155338<网络对抗>Web安全基础实践 实验过程 WebGoat 在终端中输入 java -jar webgoat-container-7.0.1-war-exec.jar 开启W ...

  5. CS50.2

    1,ssd硬盘(solid state disk),固态硬盘,固盘. 2,把电磁信号转化为0或者1 ps:记得吧图给加上 反向即从磁盘中得到数据 3,软盘,floppy disk.早期使用的一种存储. ...

  6. KNN算法的R语言实现

    近邻分类 简言之,就是将未标记的案例归类为与它们最近相似的.带有标记的案例所在的类. 应用领域: 1.计算机视觉:包含字符和面部识别等 2.推荐系统:推荐受众喜欢电影.美食和娱乐等 3.基因工程:识别 ...

  7. SpringBoot日记——信息修改PUT篇

    我们常用的功能,除了post和get,还有put和delete,这篇文章就介绍一下这个put的基本用法. 页面跳转和回显 1. 首先,我们之前的页面已经将添加和修改的按钮都做好了,那么如何实现这些按钮 ...

  8. Oracle实用地址

    1.详细安装教程 https://jingyan.baidu.com/article/3c48dd34be2a32e10be35881.html

  9. gym101522 [小熊骑士限定]La Salle-Pui Ching Programming Challenge 培正喇沙編程挑戰賽 2017

    西瓜队(划掉),Kuma Rider久违的第一场训练,四小时瞎打.jpg A.水题,排序 #include<cstdio> #include<iostream> #includ ...

  10. 当activity改变时,我们如何处理它

    用户和系统触发­的事件,可能造成一个activity状体的改变.这个文档描述了一些常见的情况,和如何去处理这些改变. 原网站:https://developer.android.google.cn/g ...