Java学习笔记36(File类)
File类可以对操作系统中的文件进行操作:
File类的静态成员变量:
package demo;
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
//File类的静态方法
String separator = File.pathSeparator;
System.out.println(separator);
//输出:; 目录分割符,Linux中是:
separator = File.separator;
System.out.println(separator);
//输出:\ 目录的名称分隔符,Linux中是/
}
}
File类的构造方法:
package demo;
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
function1();
function2();
function3();
}
public static void function1(){
File file = new File("d:\\lol");
System.out.println(file);
//输出:d:\lol
}
public static void function2(){
File file = new File("d:","lol");
System.out.println(file);
//输出:d:\lol
}
public static void function3(){
File parent = new File("d:");
File file = new File(parent,"lol");
System.out.println(file);
//输出:d:\lol
}
}
File类的功能:
创建和删除:
package demo; import java.io.File;
import java.io.IOException; public class FileDemo {
public static void main(String[] args) throws IOException {
function1();
function2();
function3();
} public static void function1() throws IOException {
// 创建文件,如果以及存在了,就不再创建
File file = new File("d:\\lol\\java.txt");
boolean b = file.createNewFile();
System.out.println(b);
} public static void function2() throws IOException {
// 创建单级文件夹
File file1 = new File("d:\\lol\\cs1.6");
boolean b1 = file1.mkdir();
System.out.println(b1);
// 创建多级文件夹
File file2 = new File("d:\\gta\\gta5\\game");
boolean b2 = file2.mkdirs();
System.out.println(b2);
} public static void function3() throws IOException {
// 删除,不经过回收站,直接从硬盘中删除
File file = new File("d:\\lol\\java.txt");
boolean b = file.delete();
System.out.println(b);
}
}
获取功能:
package demo;
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
function1();
function2();
function3();
function4();
}
public static void function1() {
File file = new File("d:\\lol\\英雄联盟\\TCLS\\Client.exe");
String name = file.getName();// 获取路径最后部分的名字
System.out.println(name);// Client.exe
}
public static void function2() {
File file = new File("d:\\lol\\英雄联盟\\TCLS\\Client.exe");
long length = file.length();// 文件的字节数
System.out.println(length);//
}
public static void function3() {
File file = new File("d:\\lol\\英雄联盟\\TCLS\\Client.exe");
File path = file.getAbsoluteFile();// 获取文件的绝对路径
System.out.println(path);
// 输出:d:\lol\英雄联盟\TCLS\Client.exe
}
public static void function4() {
File file = new File("d:\\lol\\英雄联盟\\TCLS\\Client.exe");
File parent = file.getParentFile();// 获得父路径
System.out.println(parent);
// 输出:d:\lol\英雄联盟\TCLS
}
}
判断功能:
package demo;
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
function1();
function2();
}
public static void function1() {
File file = new File("d:\\lol\\英雄联盟\\cs1.6.exe");
boolean b = file.exists();// 判断文件(夹)是否存在
System.out.println(b);// false
}
public static void function2() {
File file = new File("d:\\lol\\英雄联盟");
if (file.exists()) {
boolean b = file.isDirectory();// 判断是否为文件夹(路径)
System.out.println(b);// true
}
}
}
遍历目录获取(list获取):
package demo;
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
function1();
function2();
}
public static void function1() {
File file = new File("d:\\lol\\英雄联盟");
String[] strArr = file.list();// 获取目录下的文件以及文件夹
for (String str : strArr) {
System.out.println(str);
}
/*
输出:
7z.dll
Cross
Game
LeagueClient
SOFT_REPAIR
SpannedFileList.txt
TCLS
TQM.ini
英雄联盟.lnk
英雄联盟卸载.exe
访问官网.url
*/
}
public static void function2() {
// 一样的功能,不过推荐使用这种
// 因为这种功能更强大,可以后续进行更多的操作
File file = new File("d:\\lol\\英雄联盟");
File[] fileArr = file.listFiles();
for (File f : fileArr) {
System.out.println(f);
}
/*
输出:
d:\lol\英雄联盟\7z.dll
d:\lol\英雄联盟\Cross
d:\lol\英雄联盟\Game
d:\lol\英雄联盟\LeagueClient
d:\lol\英雄联盟\SOFT_REPAIR
d:\lol\英雄联盟\SpannedFileList.txt
d:\lol\英雄联盟\TCLS
d:\lol\英雄联盟\TQM.ini
d:\lol\英雄联盟\英雄联盟.lnk
d:\lol\英雄联盟\英雄联盟卸载.exe
d:\lol\英雄联盟\访问官网.url
*/
}
}
利用递归遍历一个目录下所有文件:
package demo; import java.io.File; /*
* 对一个目录的下的所有内容,进行完全的遍历
* 方法的递归调用,自己调用自己
*/
public class FileDemo {
public static void main(String[] args) {
File dir = new File("d:\\lol\\英雄联盟");
getAllDir(dir);
} /*
* 定义方法,实现目录的全遍历
*/
public static void getAllDir(File dir) {
System.out.println(dir);
// 调用方法listFiles()对目录,dir进行遍历
File[] fileArr = dir.listFiles();
for (File f : fileArr) {
// 判断变量f表示的路径是不是文件夹
if (f.isDirectory()) {
// 是一个目录,就要去遍历这个目录
// 继续调用getAllDir,传递他目录
getAllDir(f);
} else {
System.out.println(f);
}
}
}
}
文件过滤器:
在遍历目录的时候,可以根据需要,只获取满足条件的文件
package demo;
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
File file = new File("d:\\lol\\英雄联盟");
File[] fileArr = file.listFiles(new MyFilter());
for(File f:fileArr){
System.out.println(f);
}
}
}
//只打印者一条:d:\lol\英雄联盟\英雄联盟卸载.exe
package demo; import java.io.File;
import java.io.FileFilter; public class MyFilter implements FileFilter {
public boolean accept(File pathname) {
// 是exe文件返回true,否则返回false
return pathname.getName().endsWith(".exe");
}
}
Java学习笔记36(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学习笔记031 - 常用类
package cn.temptation; public class Sample01 { public static void main(String[] args) { /* * 类 Math: ...
- Java学习笔记day06_自定义类_ArrayList
1.自定义类class 使用类的形式, 对现实中的事物进行描述. 类是引用数据类型. 事物: 方法,变量. 方法:事物具备的功能. 变量:事物的属性. 格式: public class 类名{ //属 ...
- Java学习笔记(2)——有关类
Java类的高级特性: {Java管理文件机制:类包. 同一个包中的类互相访问时,可以不指定包名. 同一个包中的类不必存放在同一位置,如com.lang.class1和com.lang.class2可 ...
随机推荐
- UNITY 打包时提示sdk tools 或 sdk build tools版本低时可以直接点update 按钮进行更新
如题.如果不更新,而选择 : use newest version installed ,打包到结尾时可能会报错,莫名其妙的java错误 而且,SDK一旦被更新后,其所在目录的 SDK MANAGER ...
- 深入浅出PF 学习笔记---TypeConverter
StringToHumanTypeConverter类(从TypeConverter继承 using System; using System.Collections.Generic; using S ...
- mongodb-MYSQL
#encoding:utf8 import pymongoimport MySQLdbimport randomdef GetMongoData(): MyQuery = Mongo_Tab.find ...
- VMware虚拟机配置端口转发(端口映射),实现远程访问【转】
前言本文所写的远程为各个电脑在同一个网段内 本文主要详细介绍如何远程访问虚拟机里面的项目! 机器:虚拟机(装在电脑1里).电脑1(宿主机).电脑2.电脑3.电脑4.电脑n... 操作步骤: step1 ...
- python基础 ---- 使用pyCharm 调试
debug -- 为了分析程序的异常 单步调试 1.设置断点 2.debug.启动 3.监控变量
- tiny4412 --Uboot移植(3) 时钟
开发环境:win10 64位 + VMware12 + Ubuntu14.04 32位 工具链:linaro提供的gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-g ...
- R 语言安装
在linux下,对于手动安装的软件,当时间长了,我们就会忘记安装这个软件的细节.这就不利于以后软件的卸载工作了.而yum则会帮我们记住相关安装细节,当软件被卸载的时候,没用的文件也会一并被删除.因此, ...
- maven 监理web war 项目
- Aria2+WebUI,迅雷倒下之后的代替品
Aria2+WebUI,迅雷倒下之后的代替品 (2017-07-24 12:56:28) 转载▼ 分类: 软件 最近迅雷越来越作死了,砍第三方远程下载,强推迅雷9喂用户的屎,下载资源能砍就砍,以前 ...
- 批量屏蔽符合条件的IP地址,支持添加白名单,IP段,增量,大于指定次数的IP
批量屏蔽符合条件的IP地址,支持添加白名单,IP段,增量 大概的思路是利用sh,从日志中提取出来对应的IP地址,然后再交由python进行对比,判断,最终将需要添加至iptables列表中的IP写入到 ...