java学习笔记27(File类)
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类)的更多相关文章
- 6.1(java学习笔记)File类
1.路径分隔符,文件分隔符. 路径分隔符(“:”) 文件名称分隔符(“\”windows,“/”Linux等). 不同平台使用的文件分隔符是不一样的,所以File类中提供了分隔符常量,它会根据平台的不 ...
- java学习笔记7--抽象类与抽象方法
接着前面的学习: java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) jav ...
- Java分享笔记:File类中常用方法的介绍
java.io包下的File类用于描述和创建一个文件或文件夹对象,只能对文件或文件夹做一些简单操作,不能修改文件的内容,功能比较有限.下面是对于File类中常用方法的程序演示. [1] 演示程序一 p ...
- Java学习笔记16---抽象类与接口的浅显理解
抽象类是由abstract修饰的类,定义方式如public abstract class A{...}. 接口由interface修饰,定义方式如public interface B{...}. 抽象 ...
- 1.9(java学习笔记)object类及toString()与equals()方法
object类 java中objec是所有类公共的父类,一个类只要没有明显的继承某一类,那么它就是继承object类. 例如 class Person {......};和class Person e ...
- 吴裕雄--天生自然JAVAIO操作学习笔记:File类
import java.io.File ; import java.io.IOException ; public class FileDemo01{ public static void main( ...
- java新手笔记27 监听器类
1.外部类监听 package com.yfs.javase; import java.awt.Button; import java.awt.FlowLayout; import java.awt. ...
- 【原】Java学习笔记031 - 常用类
package cn.temptation; public class Sample01 { public static void main(String[] args) { /* * 类 Math: ...
- Java学习笔记day06_自定义类_ArrayList
1.自定义类class 使用类的形式, 对现实中的事物进行描述. 类是引用数据类型. 事物: 方法,变量. 方法:事物具备的功能. 变量:事物的属性. 格式: public class 类名{ //属 ...
随机推荐
- Quartz理解与实现
记录关于Quartz定时调度任务的知识点,知识点主要分为两个部分,第一个部分介绍Quartz,第二部分使用Quartz+Spring来配置使用Quartz的实际操作. (一)Quartz知识点 Qua ...
- LVS-概念
一.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director Server上,然后它把用户的请求根据设置好的调度算法,智能均衡地分发到后端真正服务器(r ...
- React文档(六)state和生命周期
想一下之前的章节时钟的例子. 目前为止我们只学习了一直方式去更新UI. 我们调用ReactDOM.render()方法去改变渲染的输出: function tick() { const element ...
- MySQL 8.0窗口函数
团队介绍 网易乐得DBA组,负责网易乐得电商.网易邮箱.网易技术部数据库日常运维,负责数据库私有云平台的开发和维护,负责数据库及数据库中间件Cetus的开发和测试等等. 一.窗口函数的使用场景 作为I ...
- 移动端rem适配 flex.js
(function() { document.addEventListener('DOMContentLoaded', function () { var html = document.docume ...
- 网络编程socket方法
1.理解socket Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面 ...
- 九、持久层框架(MyBatis)
一.基于MyBatis的对象关系配置(基于XML方式的配置) 注: MyBatis不能像Hibernate那样,在实体类上配置上注解或者配置xml映射文件,系统启动后就可以自动创建表.因为MyBati ...
- 音频 API 一览
iOS 和 OS X 平台都有一系列操作音频的 API,其中涵盖了从低到高的全部层级.随着时间的推移.平台的增长以及改变,不同 API 的数量可以说有着非常巨大的变化.本文对当前可以使用的 API 以 ...
- 基于js的CURD插件
前言: 每个web程序对数据库的创建(Create).更新(Update).读取(Retrieve)和删除(Delete)操作都是必不可少的,于是我决定开发一个基于JavaScript和jQuery框 ...
- Python内置模块之time、random、hashlib、OS、sys、UUID模块
Python常用模块 1.time模块 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间 ...