常用操作:

         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. Python3与Python2的差异

    基于python3浅谈python3与python2的差异.由于现今主流Python3,但是之前用Python2做的项目,还得维护,所以作为python工作者,不免要了解其中差异,其中,Python2 ...

  2. 八款开源 Android 游戏引擎 (巨好的资源)

    转载地址:http://software.intel.com/zh-cn/blogs/2012/01/13/android-4 初学Android游戏开发的朋友,往往会显得有些无所适从,他们常常不知道 ...

  3. android强制关闭软键盘代码

    InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE); imm.t ...

  4. jqgrid 谈谈给表格设置列头事件、行事件、内容事件

    往往我们需要给显示的jqgrid表格赋予事件功能,比如:列头事件.行事件.内容事件.需要的效果可能如下: 如你所见,以上的超链接和按钮均是绑定的事件.那分别如何实现这些事件的绑定呢? 一.行事件 行事 ...

  5. 20155317《网络对抗》Exp4 恶意代码分析

    20155317<网络对抗>Exp4 恶意代码分析 基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用 ...

  6. Python学习系列:PyCharm CE 安装与测试

    开坑啦开坑啦~最近比赛要用Python了,开始强行学习. Mac下PyCharm CE 安装 先去百度PyCharm,一个很好用IDE,下载免费版的就够用啦: https://www.jetbrain ...

  7. 如何测试Oracle并行执行的并行度状况

    如何测试Oracle并行执行的并行度状况: 可以通过如下的脚本,来查看要求的并行度,和实际获得的并行度. 脚本来自: http://askdba.org/weblog/forums/topic/que ...

  8. 汇编 push ,pop指令

    知识点:  PUSH  POP  CALL堆栈平衡  RETN指令 一.PUSH入栈指令 (压栈指令): 格式: PUSH 操作数 //sub esp,4 ;mov [esp],EBP 操作数 ...

  9. Hadoop日记Day5---HDFS介绍

    一.HDFS介绍 1.1 背景 随着数据量越来越大,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式 ...

  10. [CF1019C]Sergey's problem[构造]

    题意 找出一个集合 \(Q\),使得其中的点两两之间没有连边,且集合中的点可以走不超过两步到达其他所有不在集合中的点.输出任意一组解. \(n\leq 10^6\) 分析 考虑构造,先从 \(1\) ...