常用操作:

         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. cloudstack的虚拟机arp -a时网关的mac地址 都是Incomplete

    定位ARP攻击源头和防御方法 主动定位方式:因为所有的ARP攻击源都会有其特征——网卡会处于混杂模式,可以通过ARPKiller这样的工具扫描网内有哪台机器的网卡是处于混杂模式的,从而判断这台机器有可 ...

  2. excel中散点图和折线图的区别(散点图时间均匀分布)

    折线图可以显示随单位(如:单位时间)而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的趋势.散点图显示若干数据系列中各数值之间的关系,或者将两组数绘制为 xy 坐标的一个系列.-------- ...

  3. Java基础—常用类之String类

    一.String类是什么 public final class String implements java.io.Serializable, Comparable<String>, Ch ...

  4. Ms.office2010安装教程

    下面用到的软件下载地址如下:http://pan.baidu.com/s/1c08cxPI 第一步 1. 将压缩包office2010.rar解压解压后,会出现一个office2010文件夹如图1.1 ...

  5. Ubuntu+Qt+OpenCV+FFMPEG环境搭建

    基于ubuntu16.04下opencv3.2安装配置 Ubuntu16.04下安装FFmpeg(超简单版) Qt编译后提示: /usr/bin/ld: 找不到 -lGL 安装libGL: sudo ...

  6. cocos2d-x学习记录2——CCAction动作

    CCAction能够使CCNode运动起来,能够呈现出多种多样的动作.这些动作能够改变其运动方向.形状.大小.旋转等. 同时,还可利用CCCallFunc.CCCallFuncN.CCCallFunc ...

  7. sqlyog mysql 外键引用列找不到想要的字段的原因

    这是因为引用列必须为一个主键才行

  8. Python 学习 第三篇:数组类型(列表、字典和元组)

    列表和字段都可以在原处进行修改,可以按照需求增长或缩短,并且可以包含任何类型的对象或被嵌套.列表和字典存储的是对象的引用,而不是拷贝. 一,列表 列表是有序的序列,每一个列表项的顺序是固定的,这使得列 ...

  9. Java Web应用中支持跨域请求

    转载:https://blog.csdn.net/lmy86263/article/details/51724221 由于工程合作开发的需要,后台的应用要能支持跨域访问,但是在这个跨域访问“时好时坏” ...

  10. PowerShell 操作 Azure SQL Active Geo-Replication

    前文中我们比较全面的介绍了 Azure SQL Database Active Geo-Replication 的主要特点和优势.接下来我们将从自动化的角度介绍如何通过 PowerShell 在项目中 ...