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();
}
}

java学习笔记27(File类)的更多相关文章

  1. 6.1(java学习笔记)File类

    1.路径分隔符,文件分隔符. 路径分隔符(“:”) 文件名称分隔符(“\”windows,“/”Linux等). 不同平台使用的文件分隔符是不一样的,所以File类中提供了分隔符常量,它会根据平台的不 ...

  2. java学习笔记7--抽象类与抽象方法

    接着前面的学习: java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) jav ...

  3. Java分享笔记:File类中常用方法的介绍

    java.io包下的File类用于描述和创建一个文件或文件夹对象,只能对文件或文件夹做一些简单操作,不能修改文件的内容,功能比较有限.下面是对于File类中常用方法的程序演示. [1] 演示程序一 p ...

  4. Java学习笔记16---抽象类与接口的浅显理解

    抽象类是由abstract修饰的类,定义方式如public abstract class A{...}. 接口由interface修饰,定义方式如public interface B{...}. 抽象 ...

  5. 1.9(java学习笔记)object类及toString()与equals()方法

    object类 java中objec是所有类公共的父类,一个类只要没有明显的继承某一类,那么它就是继承object类. 例如 class Person {......};和class Person e ...

  6. 吴裕雄--天生自然JAVAIO操作学习笔记:File类

    import java.io.File ; import java.io.IOException ; public class FileDemo01{ public static void main( ...

  7. java新手笔记27 监听器类

    1.外部类监听 package com.yfs.javase; import java.awt.Button; import java.awt.FlowLayout; import java.awt. ...

  8. 【原】Java学习笔记031 - 常用类

    package cn.temptation; public class Sample01 { public static void main(String[] args) { /* * 类 Math: ...

  9. Java学习笔记day06_自定义类_ArrayList

    1.自定义类class 使用类的形式, 对现实中的事物进行描述. 类是引用数据类型. 事物: 方法,变量. 方法:事物具备的功能. 变量:事物的属性. 格式: public class 类名{ //属 ...

随机推荐

  1. js中const、let、var的区别

    今天第一次遇到const定义的变量,查阅了相关资料整理了这篇文章.主要内容是:js中三种定义变量的方式const, var, let的区别. 1.const定义的变量不可以修改,而且必须初始化. 1 ...

  2. php 中输入输出提交

    </head> <body> 输出的两个位置 <? echo $_POST['sub']; ?> <form action="" meth ...

  3. C++ string的用法和例子

    使用场合: string是C++标准库的一个重要的部分,主要用于字符串处理.可以使用输入输出流方式直接进行操作,也可以通过文件等手段进行操作.同时C++的算法库对string也有着很好的支持,而且st ...

  4. Leetcode 1021. 最佳观光组合

    1021. 最佳观光组合  显示英文描述 我的提交返回竞赛   用户通过次数91 用户尝试次数246 通过次数92 提交次数619 题目难度Medium 给定正整数数组 A,A[i] 表示第 i 个观 ...

  5. Leetcode 120

    class Solution { public: int minimumTotal(vector<vector<int>>& triangle) { ) ][]; tr ...

  6. mac bash 下使用vi 快捷方式——因为没有alt键 所以没有办法 用vi模式也非常方便的

    set -o emacs ##切到emacs模式 set -o vi ##切到vi模式 set -o ## 查看当前选项的设置状态 所以你只需要在.bashrc下加入 set -o vi 然后,使用E ...

  7. @RequestParam的使用

    来源:http://825635381.iteye.com/blog/2196911 @RequestParam: 一. 基本使用,获取提交的参数 后端代码: @RequestMapping(&quo ...

  8. Matlab远程调试 转

        Matlab的调试总体分为,直接调试和间接调试.1.直接调试:(1)去掉句末的分号:(2)单独调试一个函数:将第一行的函数声明注释掉,并定义输入量,以脚本方式执行 M 文件:(3)适当地方添加 ...

  9. 转 Visual C++6.0 与matlab联合编程(2)----Visual C++6.0 环境下编译和调试MEX文件

    我的最初想法是利用matlab的mex命令调用C++程序生成动态链接库的,但是测试程序(文中另附)通过了,自己的实际应用程序却没有过.还是把方法贴在这儿,以便自己以后进行整理. http://shij ...

  10. 【Insert】使用java对mysql数据库进行插入操作

    //插入100条数据package database; import java.sql.Connection; import java.sql.DriverManager; import java.s ...