File类:

  定义:文件和目录径的抽象表示形式, Java中将路径或者文件封装成File对象

  1.File类的静态成员变量

package com.zs.Demo2;

import java.io.File;

public class FileDemo {
public static void main(String[] args) {
fun();
} private static void fun() {
String s = File.pathSeparator;//目录分隔符 ; 在linux中是:
System.out.println(s); //结果 ;
String s1 = File.separator;// 目录的名称分隔符 \ 在linux中是:/
System.out.println(s1); //结果 \
}
}

  2.File类的构造方法:

import com.sun.org.apache.bcel.internal.generic.NEW;

import java.io.File;

public class FileDemo1 {
public static void main(String[] args) {
fun1();
fun2();
fun3();
} private static void fun3() {
File parent = new File("d:");
File f=new File(parent,"IntelliJ IDEA 2018.3.4");
System.out.println(f);//d:\IntelliJ IDEA 2018.3.4
} private static void fun2() {
//传递父路径,子路径
File f=new File("d:","IntelliJ IDEA 2018.3.4");
System.out.println(f);//d:\IntelliJ IDEA 2018.3.4
} private static void fun1() {
//传递路径名
File f=new File("D:\\IntelliJ IDEA 2018.3.4");
System.out.println(f);//D:\IntelliJ IDEA 2018.3.4
}
}

  3.File类的功能

    创建和删除:

package com.zs.Demo2;

import com.sun.org.apache.bcel.internal.generic.NEW;

import java.io.File;
import java.io.IOException; /*创建和删除文件夹功能*/
public class FileDemo2 {
public static void main(String[] args) {
try {
fun();
fun1();
fun2();
} catch (IOException e) {
e.printStackTrace();
}
} private static void fun2() {
//删除,不经过回收站,直接从硬盘中删除
File f= new File("d:\\Filelx.txt");
boolean b = f.delete();
System.out.println(b);//true
} private static void fun1() {
//创建单级文件夹
File f=new File("d:\\lx");
boolean b = f.mkdir();
System.out.println(b);
//创建多级文件夹
File f1=new File("d:\\Filelx\\lx\\javalx.txt");
boolean b1 = f1.mkdirs();
System.out.println(b1);
} private static void fun() throws IOException {
File f=new File("d:\\FileLx.txt");
//createNewFile()创建文件,返回true,如果已经存在了,就不再创建,返回false;
boolean b = f.createNewFile();
System.out.println(b);//true
}
}

    获取功能:

package com.zs.Demo2;

import java.io.File;

public class FileDemo3 {
public static void main(String[] args) {
fun();
fun1();
fun2();
fun3();
} private static void fun3() {
File f=new File("D:\\IntelliJ IDEA 2018.3.4\\build.txt");
String parent = f.getParent();//获取父路径
System.out.println(parent);//D:\IntelliJ IDEA 2018.3.4
} private static void fun2() {
File f=new File("D:\\IntelliJ IDEA 2018.3.4\\build.txt");
String path = f.getPath();//获取文件的绝对路径
System.out.println(path);//D:\IntelliJ IDEA 2018.3.4\build.txt
} private static void fun1() {
File f=new File("D:\\IntelliJ IDEA 2018.3.4\\build.txt");
long length = f.length();//获取文件的字节数
System.out.println(length);//
} private static void fun() {
File f=new File("D:\\IntelliJ IDEA 2018.3.4\\build.txt");
String name = f.getName();//获取路径最后部分的名字
System.out.println(name);//build.txt
}
}

    判断功能:

package com.zs.Demo2;

import java.io.File;

public class FileDemo4 {
public static void main(String[] args) {
fun();
fun1();
} private static void fun1() {
File f=new File("D:\\IntelliJ IDEA 2018.3.4");
boolean b = f.isDirectory();//判断是否为文件夹(路径)
System.out.println(b);//true
} private static void fun() {
File f=new File("D:\\IntelliJ IDEA 2018.3.4\\build.txt");
boolean b = f.exists();//判断文件(夹)是否存在
System.out.println(b);//true
}
}

    遍历目录获取(list获取):

package com.zs.Demo2;

import java.io.File;

public class FileDemo5 {
public static void main(String[] args) {
// fun();
fun2();
} private static void fun() {
File f=new File("D:\\IntelliJ IDEA 2018.3.4");
String[] list = f.list();//获取 目录下的文件以及文件夹
for (String s : list) {
System.out.println(s);
}
/* bin
build.txt
help
Install-Windows-zip.txt
ipr.reg
jre64
lib
license
plugins
product-info.json
redist*/
} private static void fun2() {
//同样的功能,推荐使用这种,因为这种功能更强大,可以实现更多后续操作
File f=new File("D:\\IntelliJ IDEA 2018.3.4");
File[] files = f.listFiles();
for (File file : files) {
System.out.println(file);
}
/* D:\IntelliJ IDEA 2018.3.4\bin
D:\IntelliJ IDEA 2018.3.4\build.txt
D:\IntelliJ IDEA 2018.3.4\help
D:\IntelliJ IDEA 2018.3.4\Install-Windows-zip.txt
D:\IntelliJ IDEA 2018.3.4\ipr.reg
D:\IntelliJ IDEA 2018.3.4\jre64
D:\IntelliJ IDEA 2018.3.4\lib
D:\IntelliJ IDEA 2018.3.4\license
D:\IntelliJ IDEA 2018.3.4\plugins
D:\IntelliJ IDEA 2018.3.4\product-info.json
D:\IntelliJ IDEA 2018.3.4\redist*/
}
}

   文件过滤器:

package com.zs.Demo2;

import com.sun.org.apache.bcel.internal.generic.NEW;

import java.io.File;
import java.io.FileFilter; public class FileDemo6 {
static class MyFile implements FileFilter {
@Override
public boolean accept(File pathname) {
return pathname.getName().endsWith(".exe");
}
}
public static void main(String[] args) {
fun();
} private static void fun() {
File f= new File("D:\\IntelliJ IDEA 2018.3.4\\bin");
File[] files = f.listFiles(new MyFile());
for (File file : files) {
System.out.println(file);
} }
}

  递归遍历一个目录下的所有文件:

package com.zs.ZaoYe;

import java.io.File;

public class DiGui {
DiGui(){
File f=new File("D:\\IntelliJ IDEA 2018.3.4");
if (f.exists()){
binaryFile(f);
}else{
System.out.println("要遍历的目录不存在!!!");
}
} private void binaryFile(File f){
File[] files = f.listFiles();
for (File file : files) {
if (file.isDirectory()) {
binaryFile(file);
} else {
System.out.println(file);
}
}
} public static void main(String[] args) {
new DiGui();
}
}

最新文章

  1. 使用mac终端生成RSA私钥和公钥文件
  2. Swift -Login(MVC 纯代码)
  3. sed处理文本文件
  4. LabVIEW类方法浏览器-Class Method Browser
  5. 【BZOJ-4455】小星星 容斥 + 树形DP
  6. 剑指offier第三题
  7. python pdb调试以及sublime3快捷键设置
  8. Hibernate考试试题(部分题库)含答案
  9. linux文件系统下的特殊权限
  10. entity cannot be tracked
  11. 光照构建失败。Swarm启动失败
  12. Let's Encrypt泛域名SSL证书申请
  13. hdu5521(Meeting)spfa 层次网络最短路
  14. Differencia (归并树)
  15. 在Ubuntu上使用noip动态域名的方法(ddns)
  16. easyui的datebox只显示年月
  17. C#抓取网络图片保存到本地
  18. Redis持久化磁盘IO方式及其带来的问题
  19. Java数组和各种List的性能比较
  20. php redis安装使用

热门文章

  1. 使用spring-cloud-starter-bus-amqp做微服务配置刷广播,config-client配置 未刷新的 问题
  2. Django框架(一)
  3. Farm Irrigation(非常有意思的并查集)
  4. 你还有没有印象?腾讯QQ16个版本界面你认识多少?
  5. weblogic为同一domain下的不同server添加不同参数
  6. MFC CDHtmlDialog 加载本地资源
  7. CAD绘制扶手5.6
  8. Win10系列:JavaScript图形
  9. django+xadmin+echarts实现数据可视化
  10. vue-router-7-重定向及别名