File类
File类的构造函数与File类的获取
import java.io.File;
import java.io.FileFilter;
public class MyFileter implements FileFilter{
public boolean accept(File pathname) {
return pathname.getName().toLowerCase().endsWith(".java");
}
}
import java.io.File;
public class Demo01 {
public static void main(String[] args) {
method1();//E:java
method2();//;
method3();//E:java
method4();//E:java.txt
}
public static void method1(){
//构造方法是不会去给你判断该路径的文件或目录是否存在
//windows下不区分大小写
File file=new File("E:"+File.separator+"java");
System.out.println(file);
}
public static void method2(){
//与系统有关的路径分隔符
String s1=File.pathSeparator;
System.out.println(s1);
//与系统有关的名称分隔符
String s2=File.separator;
System.out.println(s2);
}
public static void method3(){
File file=new File("E:","java");
System.out.println(file);
}
public static void method4(){
File file=new File("E:\java");
File file2=new File(file,"b.txt");
System.out.println(file2);
}
}
文件和文件夹的创建删除等
import java.io.File;
import java.io.IOException;
public class Demo02 {
public static void main(String[] args) throws IOException {
method1();//E:eclipseworkDay01src
method2();//a E:javaa
method3();//319984
method4();
method5();
method6();
method7();
method8();
method9();
}
public static void method1(){
File file=new File("src");
//如果相对路径,返回的是该类根目录的绝对路径
//返回该文件对象的绝对路径
String path=file.getAbsolutePath();
System.out.println(path);
}
public static void method2(){
File file=new File("E:\java\a");
String name=file.getName();//获取文件或文件夹名
String path=file.getPath();//获取绝对路径
System.out.println(name);
System.out.println(path);
}
public static void method3(){
File file=new File("E:\java\eclipse\eclipse.exe");//获取文件长度
long size=file.length();
System.out.println(size);
}
public static void method4() throws IOException{
File file=new File("E:\java\c");//创建文件
boolean flag=file.createNewFile();
System.out.println(flag);
}
public static void method5(){
File file=new File("E:\java\c");//删除文件 直接彻底删除
boolean flag=file.delete();
System.out.println(flag);
}
public static void method6(){
File file=new File("F:\java\c");//判断该文件是否在该路径下
boolean flag=file.exists();
System.out.println(flag);
}
public static void method7(){
File file=new File("E:\java\a");//判断该文件对象是否为文件夹
boolean flag=file.isDirectory();
System.out.println(flag);
}
public static void method8(){
File file=new File("E:\java\b.txt");//判断该文件对象是否为文件
boolean flag=file.isFile();
System.out.println(flag);
}
public static void method9(){
File file=new File("E:\java\d");//创建文件夹
File file1=new File("E:\java\e\f\g");//创建一个或多个文件夹
boolean flag=file.mkdir();
boolean flag1=file1.mkdirs();
System.out.println(flag);
System.out.println(flag1);
}
}
listFiles()方法介绍
import java.io.File;
public class Demo03 {
public static void main(String[] args) {
//method1();
//method2();
method3();
}
public static void method1(){
File file=new File("E:\java");
//获取的是文件名的字符串 没啥用
String[] files=file.list();
for(String s:files){
System.out.println(s);
}
}
public static void method2(){
File file=new File("E:\java");
//获取文件夹下所有文件对象
File[] files=file.listFiles();
for(File f:files){
System.out.println(f);
}
}
//找出文件夹里.java类型的文件
public static void method3(){
File file=new File("E:\java");
File[] files=file.listFiles(new MyFileter());
for(File f:files){
System.out.println(f);
}
}
}
递归
递归的概述
示例:
public class Demo04 {
//递归:自己调自己,要给出口
public static void main(String[] args) {
System.out.println(getSum(20));//210
}
//求100+99+98+...+1的和
public static int getSum(int n){
if(n==1){
return 1;
}
return n+getSum(n-1);
}
}
//获取文件夹里的文件
import java.io.File;
public class Demo05 {
public static void main(String[] args) {
File file=new File("E:\java\a");
getFile(file);
}
public static void getFile(File dir){
File[] files=dir.listFiles(new MyFileter());
System.out.println(dir);
for(File f:files){
//如果该文件对象是文件夹调自己
if(f.isDirectory()){
getFile(f);
}else{
System.out.println(f);
}
}
}
}