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 类名{ //属 ...
随机推荐
- day32 通道 数据共享 进程池
1.管道 格式: conn1,conn2 = Pipe() 管道的两端可以进行全双工通信 如图 进程2创建了管道,它就拥有管道两端的信息,每个端点都能收发信息,它把端点信息传给进程1和进程3 ,它 ...
- CSS Hack 技巧
IE Hack IE系列浏览器的hack大略如下: _nowamagic:1px;———–ie6 *nowamagic:1px;———–ie7 nowamagic:1px\0;———-ie89 now ...
- P2756 飞行员配对方案问题
题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 名飞行员,其中1 名是英国飞行员,另1名是外 ...
- sqlserver 优化
避免在索引列上使用计算 where子句中,如果索引列是函数的一部分,优化器将不使用索引而使用全表扫描.例如: (低效)select ... from [dept] where [sal]*12> ...
- SQL Server跨服务器建立视图
create view View_AppCus as select dwmch,zjm from ksoa.dbo.mchk SQL Server跨服务器操作经常需要用到,下面就为你介绍的是SQL S ...
- MongoDB 教程(五):连接、新建数据库、删除数据库
连接 启动 MongoDB 服务 只需要在 MongoDB 安装目录的 bin 目录下执行 mongodb 即可. 执行启动操作后,mongodb 在输出一些必要信息后不会输出任何信息,之后就等待连接 ...
- Python面向对象高级编程-__slots__、定制类,枚举
当在类体内定义好各种属性后,外部是可以随便添加属性的,Python中类如何限制实例的属性? Python自带了很多定制类,诸如__slots__,__str__ __slots__ __slots__ ...
- [luogu P3275] [SCOI2011]糖果
[luogu P3275] [SCOI2011]糖果 题目描述 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果.但是小朋友们也有嫉妒心,总是会提出一些 ...
- Mybatis排序无效问题解决
在 mybatis 的 xml中,为一个SQL语句配置order by 子句时,需要这个排序的字段是前端传递过来的,而且排序的顺序(升序 OR 降序)也是由前端传递过来的.对于这种需求,我起初写成了下 ...
- javascript 多个onclick function 取对应值
方法1: 直接获取值 <button onclick="aa(1)">执行</button> <button onclick="aa(2)& ...