File类的概述和构造方法

构造方法:

  • File(String pathname):根据一个路径得到File对象
  • File(String parent,String child):根据一个目录和一个子文件/目录 得到File对象
  • File(File parent,String child):根据一个父File对象和一个子文件/目录得到File对象

File更应该叫做一个路径,文件 路径  或者  文件夹  路径

File是指文件或者目录路径名的抽象表示形式

创建功能:

  • public boolean createNewFile():创建文件,如果存在这样的文件,就不会创建了
  • public boolean mkdir():创建一个文件夹(目录),如果存在这样的文件夹就不再创建了
  • public boolean mkdir():迭代着创建文件夹,多层文件夹嵌套创建

重名名和删除功能:

  • public boolean renameTo(File dest):把文件重名为指定的文件路径(和Linux一样,重名名其实就是剪贴粘贴)
  • public boolean delete():删除文件或者文件夹(这种删除是不经过回收站的)

判断功能:

  • public boolean isDirectory():判断是否是空目录
  • public boolean isFile():判断是否是文件
  • public boolean exists():判断是否存在
  • public boolean canRead():判断是否可读
  • public boolean canWrite():判断是否可写
  • public boolean isHidden():判断是否隐藏

获取功能:

  • public String getAbsolutePath():获取绝对路径
  • public String getPath():获取路径
  • public String getName():获取名称
  • public long length():获取长度(文件的字节数)
  • public long lastModified():获取最后一次的修改时间,毫秒值
  • public String[] list():获取指定目录下的所有文件或者文件夹的名称 数组
  • public File[] listFile():获取指定目录下的所有文件或者文件夹的File数组

我们自己实现一个文件名过滤器

package null08012133;

import java.io.File;

public class Demo01 {

    public static void main(String[] args) {
// TODO Auto-generated method stub
File file = new File("C:/");
File[] fileList = file.listFiles();
for(File fileObj:fileList){
if(fileObj.isFile()&&fileObj.getName().endsWith(".sys")){
System.out.println(fileObj.getName());
}
} } }

使用内置的一些方法进行判断

package null08012133;

import java.io.File;
import java.io.FilenameFilter; public class Demo02 { public static void main(String[] args){
File file = new File("C:/");
String[] fileNames = file.list(new FilenameFilter(){ @Override
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
File f = new File(dir,name);
return f.isFile()&&name.endsWith(".sys");
}
});
for(String fileName:fileNames){
System.out.println(fileName);
}
} }

Java学习之路(十一):IO流<前戏>的更多相关文章

  1. java学习之路--I/O流

      java基础学习总结——流 一.JAVA流式输入/输出原理

  2. 新篇章之我的java学习之路下

    昨天写下了人生的第一篇博客,今天接着写我的java学习之路有关开发及框架的学习过程. 想要学好java语言,只学习一些java的基本语法对实际开发中的用处还是不大的,所以我们还要掌握一些有关javaW ...

  3. java学习之路之javaSE基础2

    java学习之路之javaSE基础2 所有的代码都是引用他人写的. 1.逻辑运算符 //&,|,^,! //int x = 10; //5 < x < 15 //x > 5 ...

  4. java学习之路之javaSE基础1

    <h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解)* A:什么是计算机?计算机在生活中的应用 ...

  5. Java学习之路(转)

    Java学习之路(书籍推荐)   一.基础类 1.<Thinking in java>(阅读2遍),入门第一位是建立正确的概念 2.<Core Java>这本书更贴近实践,更多 ...

  6. JAVA学习之路与大家分享

    这是我四年以前总结的JAVA学习之路,希望对初学者或想从事JAVA开发的人有帮助. 本人是软件工程专业出身,先后学过C.C++.JAVA.VB.delphi等等开发语言以及网络相关管理技术.哎,好久不 ...

  7. Java 学习之路 -- day00

    Java 学习之路 -- day00 Typora 快捷键操作 标题:#+空格 2. *斜体* 3. **加粗** 4. **斜体加粗*** 5. ~~删除线~~ 6. > 引用 7. ···分 ...

  8. Java学习之路(十二):IO流<二>

    字符流 字符流是可以直接读写字符的IO流 使用字符流从文件中读取字符的时候,需要先读取到字节数据,让后在转换为字符 使用字符流向文件中写入字符时,需要把字符转为字节在写入文件 Reader和Write ...

  9. Java学习之路(十二):IO流

    IO流的概述及其分类 IO流用来处理设备之间的数据传输,Java对数据的操作是通过流的方式 Java用于操作流的类都在IO包中 流按流向分为两种:输入流(读写数据)     输出流(写数据) 流按操作 ...

随机推荐

  1. Python网络编程总结

    ----learn from luffycity---- 1. 什么是C/S架构? C指的是client(客户端软件),S指的是Server(服务端软件),C/S架构就是基于网络实现客户端与服务端通信 ...

  2. 全面理解iOS开发中的Scroll View[转]

    from:http://mobile.51cto.com/hot-430409.htm 可能你很难相信,UIScrollView和一个标准的UIView差异并不大,scroll view确实会多一些方 ...

  3. Robot Perception for Indoor Navigation《室内导航中的机器人感知》

    Felix Endres 论文下载 Technische Fakult¨ atAlbert-Ludwigs-Universit¨ at Freiburg Betreuer: Prof. Dr. Wol ...

  4. java 泛型的类型擦除和桥方法

    oracle原文地址:https://docs.oracle.com/javase/tutorial/java/generics/erasure.html 在Java中,泛型的引入是为了在编译时提供强 ...

  5. Java内存模型(二)

    volatile型变量的特殊规则 volatile是Java虚拟机提供的最轻量级的同步机制,当一个变量被定义成volatile后,它将具备两种特性,第一是保证此变量对所有线程的可见性,这里的“可见性” ...

  6. hdu 5064 满足b2−b1≤b3−b2... 的最长子序列

    http://acm.hdu.edu.cn/showproblem.php?pid=5064 要找出一个数组中满足b2−b1≤b3−b2≤⋯≤bt−bt−1 的最大的t 直接引题解: 1003 Fin ...

  7. calltree+graphviz 绘出项目函数调用图

    install calltree: download from http://linux.softpedia.com/progDownload/calltree-Download-971.html f ...

  8. ksplatform学习笔记

    1.viewResolver配置中的: <bean id="viewResolver" class="org.springframework.web.servlet ...

  9. (原创)Hibernate 使用过程中(尤其是多对多关联中的级联保存和级联删除)的注意事项(基于项目的总结)

    一.先上知识点: 1.hibernate多对多关联关系中最重要的参数是(基于配置文件xxx.hbm.xml文件形式): 1):inverse属性,如果设置inverse=“true”就代表让对方参与维 ...

  10. hibernate 延迟加载深入分析(persistentSet的延迟加载)

    Hibernae 的延迟加载是一个非常常用的技术,实体的集合属性默认会被延迟加载,实体所关联的实体默认也会被延迟加载.Hibernate 通过这种延迟加载来降低系统的内存开销,从而保证 Hiberna ...