package cn.zhoucufeng;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List; /*
* File 类 ?-----作用
*
* 1.对操作系统中的文件进行操作!
*
* 2.File类的静态成员变量
* 1.pathSeparator [;] 2.separator[\]
*
* 3.构造方法
* 1.
*
*
* 4.主要功能
* 创建、删除、判断、获取!
*
* 5.便利方式?
* 1.遍历目录获取list
* 2.递归便利一个目录下的所有文件!
*
* 6.文件过滤器?
*
*
*/
public class FileDemo {
public static void main(String[] args) throws IOException {
pathSeparatorDemo(); //1.File 静态方法,不用new。直接调用!
function(); //2.File 创建和删除功能!-------->会创建在本地电脑!
newFile(); //3.File构造方法
runFile(); //4.File获取功能 4
runFile01(); //5.File判断功能 判断文件夹是否存在? 是什么路径?
// bianList(); //6.便利目录获取1.(list)获取 2.增强for循环 3.迭代方式!
File dir=new File("c:\\windows");
// getAllDir(dir); //7.递归便利 目录下的文件(夹)
System.out.println("============");
fileDemo(); //8.文件过滤器【可以根据需要,只获取满足条件】 }
private static void fileDemo() {
File a1=new File("c:\\windows");
File []a1Arr=a1.listFiles(new MyFilter()); //打印Windows下所有带 EXE的文件
for(File f:a1Arr){
System.out.println(f);
} }
private static void getAllDir(File dir) { //递归!自己调用自己! File []fileArr=dir.listFiles(); //调用方法listFiles()对目录,dir进行遍历 for(File f:fileArr) //增强for循环
{ if (f.isDirectory()) // 判断变量f表示的路径是不是文件夹
{ getAllDir(f); // 是一个目录,就要去遍历这个目录
// 继续调用getAllDir,传递他目录
}else {
System.out.println(f);
}
} }
private static void bianList() {
File a1=new File("c:\\windows");
String [] arr=a1.list(); //获取目录下的文件以及文件夹!
List<String> li = Arrays.asList(arr); //数组转换成ArrayList! /* for (Iterator it = li.iterator(); it.hasNext();) { //迭代方式获取 文件
String string = (String) it.next();
System.err.println(string);
}*/
/* for (String string : arr) { //增强for循环方式!
System.out.println(string);
}*/
System.out.println(li); //获取目录下的文件以及文件夹!直接输出
} private static void runFile01() { //
File a1=new File("c:\\windows\\addins\\FXSEXT.ecf");
boolean b=a1.exists(); //判断文件是否存在
boolean c=a1.isAbsolute(); //判断是否是文件夹(绝对路径)!
boolean d=a1.isDirectory(); //判断是否是文件夹(路径)
System.out.println(c);
System.out.println(d);
System.out.println(b); }
//3.File的构造方法!
private static void newFile() {
File a1=new File("d:");
System.out.println(a1); File partent=new File("d:"); //设置父亲
File file=new File(partent,"game"); //通过父亲获取 子级目录
System.out.println(file); //输出 d:\game File a3=new File("d:","game"); //注意 这里是中间加了一个"," ! 双引号中加逗号
System.out.println(a3); //输出 d:\game }
//1.File的静态方法 [pathSeparator]
public static void pathSeparatorDemo(){
String a1=File.pathSeparator; //用 String 定义!
System.out.println(a1); //打印 [;]
String a2=File.separator;
System.out.println(a2); //打印 [\]
}
//2.File 创建和删除功能!-------->会创建在本地电脑!
public static void function() throws IOException{ //1.创建文件 createNewFile
File file=new File("d:\\helloworld.file");
boolean a1=file.createNewFile();
System.out.println(a1); //2.创建单级文件 mkdir
File file01=new File("d:\\helloworld\\set");
boolean a2=file01.mkdir();
System.out.println(a2); //3.创建多级文件 mkdirs
File file02=new File("d:\\game\\youyi\\cf2.0");
boolean a3=file02.mkdirs();
System.out.println(a3); //4.删除,不经过回收站!delete
File file03=new File("d:\\你好");
boolean a4=file03.delete();
System.out.println(a4);
}
public static void runFile(){ //4.File的主要功能!获取4种! File a1=new File("c:\\windows\\addins\\FXSEXT.ecf");
String name=a1.getName(); //获取路径最后部分的名字
long num=a1.length(); //文件的字节数!
File path=a1.getAbsoluteFile(); //获取文件的绝对路径
File parent=a1.getParentFile(); //获取文件的父路径 System.out.println("getName:获取路径最后部分的名字"+name);
System.out.println("length:文件的字节数 "+num);
System.out.println("获取文件的绝对路径 "+path);
System.out.println("获取文件的父路径 "+parent);
}
} package cn.zhoucufeng; import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter; public class MyFilter implements FileFilter { public boolean accept(File pathname) { return pathname.getName().endsWith(".exe");
}
最下面的类 MyFile 需要新建,并且要和FileDemo在同一包下!

File类 详解!的更多相关文章

  1. JavaIO(01)File类详解

    File类 file类中的主要方法和变量   常量: 表示路径的分割符:(windows) 作用:根据java可移植性的特点,编写路径一定要符合本地操作系统要求的分割符: public static ...

  2. File类详解

    一.File类: File类时io包中唯一代表磁盘文件本身的对象.File类定义了一些与平台无关的方法来操作文件,可以通过调用File类中的方法,实现创建.删除.重命名文件等. File类的对象主要用 ...

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

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

  4. java中File类详解

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

  5. Java之File类详解

    常用操作: File f = new File("C:\\testdata\\filedir\\a\\b\\c"); f.mkdir(); //建立单级目录 f.mkdirs(); ...

  6. QAction类详解:

    先贴一段描述:Qt文档原文: Detailed Description The QAction class provides an abstract user interface action tha ...

  7. JAVAEE学习——struts2_01:简介、搭建、架构、配置、action类详解和练习:客户列表

    一.struts2是什么 1.概念 2.struts2使用优势以及历史 二.搭建struts2框架 1.导包 (解压缩)struts2-blank.war就会看到 2.书写Action类 public ...

  8. URLConnection类详解-转

    转-http://www.cnblogs.com/shijiaqi1066/p/3753224.html 1. URLConnection概述 URLConnection是一个抽象类,表示指向URL指 ...

  9. JDK中Unsafe类详解

    Java中Unsafe类详解 在openjdk8下看Unsafe源码 浅析Java中的原子操作 Java并发编程之LockSupport http://hg.openjdk.java.net/jdk7 ...

随机推荐

  1. P3368 【模板】树状数组 2--洛谷luogu

    题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上x 2.求出某一个数的值 输入输出格式 输入格式: 第一行包含两个整数N.M,分别表示该数列数字的个数和操作的总个数. ...

  2. spingMVC异步上传文件

    框架是个强大的东西,一般你能想到的,框架都会帮你做了,然后只需要会用就行了,spingmvc中有处理异步请求的机制,而且跟一般处理请求的方法差别不大,只是多了一个注解:spingmvc也可以将stri ...

  3. SpringBoot集成Freemarker与Thymeleaf

    一:概括 pom.xml添加依赖 配置application.yml HTML页面使用表达式 二:Freemarker模板引擎 1.添加依赖 <!-- ftl模板引擎 --> <de ...

  4. 在Linux的Windows子系统上(WSL)使用Docker(Ubuntu)

    背景 平时开发大部人都是在提供了高效GUI的window下工作,但是真正部署环境普遍都是在Linux中,所以为了让开发环境和部署环境统一,我们需要在windows模拟LInux环境,以前我们可能通过虚 ...

  5. Heroku + Node.js + HTTPS

    昨天把 biz-to-me 升级到支持 HTTPS 了,为此研究了一下如何让 Heroku 上跑的 Node.js 应用支持 HTTPS.我发现并没有任何文章描述这个具体的流程,只有零碎的信息,所以在 ...

  6. easyui datagrid 相关取数据总结

    easyui 中datagrid$('#dg').datagrid('getSelected');返回第一个被选中的行或如果没有选中的行则返回null.$('#dg').datagrid('getSe ...

  7. python之面向对象3

     面向对象介绍 一.面向对象和面向过程 面向过程:核心过程二字,过程即解决问题的步骤,就是先干什么后干什么 基于该思想写程序就好比在这是一条流水线,是一种机械式的思维方式 优点:复杂的过程流程化 缺点 ...

  8. Tomcat搭建Web 应用服务器

    和安卓联合开发,测试手机设配效果,被安卓开发大神同事一顿鄙视之后,愤然而起自己搭建了一个本地服务器(愤怒 玻璃心使我成长~哈哈) java+tomcat安装 java安装 注册oracle账号: 手机 ...

  9. set和multiset的用法

    set #include<iostream> #include<algorithm> #include<cstdio> #include<string.h&g ...

  10. ubuntu中搭建svn服务器步骤

    1.安装软件包: sudo apt-get install subversion 2.建立相关文件夹(这里svn放在home文件夹中) cd /home sudo mkdir svn cd /home ...