您的位置:首页 > 编程语言 > Java开发

Java学习笔记七(文件夹操作)

2015-07-02 15:46 531 查看
 

 1.介绍

上一篇博客介绍的是java中常用的操作文件的方式,本篇博客着重讲解一下,在Java中是如何来操作文件夹的。主要是利用的是Java.IO包下面的File类,本篇博客着重讲解一下该类的构造函数和常用的方法。

 

 2.File类的字段摘要

File类为我们提供了与系统有关的路径分割符,字段分别如下

static String pathSeparator:返回值为字符串,结果表示分号;

static char pathSeparatorChar:返回值为char类型,结果表示分号

static char separatorChar:返回值为char类型,结果表示\的路径分割符

static string separator:返回值为String类型,结果表示\的路径分割符

<span style="font-family:SimSun;font-size:18px;">package com.IO;

import java.io.File;

public class FileDemo {
public static void main(String[] args) {
String separator=File.separator;
System.out.println(separator);//输出\  windows下的路径分割符号

String pathSeparator=File.pathSeparator;
System.out.println(pathSeparator);//输出结果为分号;

}

}
</span>


有了这些字段,以后用的时候,就可以无关跨系统的路径分割符了。

 2.File类的常用方法

1.创建一个文件

<span style="font-family:SimSun;font-size:18px;">package com.IO;

import java.io.File;
import java.io.IOException;

public class FileDemo1 {
public static void main(String[] args){
File file=new File("c:"+File.separator+File.separator+"1.txt");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}

}

}
</span>


运行之后会在C盘有一个1.txt的文件

2.删除方法

删除方法:boolean delete(),删除File构造函数方法中封装的路径,删除成功后返回true,注意的是直接删除,不走回收站

延迟删除方法 void deleteOnExit()删除File构造方法中封装的路径,等JVM结束前删除

<span style="font-family:SimSun;font-size:18px;">package com.IO;

import java.io.File;

public class FileDemo1 {
public static void main(String[] args){
File file=new File("c:"+File.separator+"1.txt");
if(file.exists()){
file.delete();
}else {
System.out.println("文件不存在");
}

}

}
</span>


3.创建一个文件夹

用的是File类的mkdir方法

<span style="font-family:SimSun;font-size:18px;">package com.IO;

import java.io.File;

public class FileDemo1 {
public static void main(String[] args){
File file=new File("c:"+File.separator+"1");
file.mkdir();
}

}
</span>


4.列出文件下的全部目录(包括隐藏的文件)

String[] list:获取File构造方法中封装的路径下的全部文件夹和文件

File[] listFiles:返回所有文件下的目录对象,两者的返回值不同

<span style="font-family:SimSun;font-size:18px;">package com.IO;

import java.io.File;

public class FileDemo1 {
public static void main(String[] args){
File file=new File("c:"+File.separator+"Users");
String[] str=file.list();
for(String s:str){
System.out.println(s);
}

File[] files=file.listFiles();
for(File s:files){
System.out.println(s);
}
}

}
</span>


5.文件过滤器

在获取指定文件夹下的指定文件时,可以采取过滤器效果,采用的是如下方法

File[] listFile(FileFilter filter):文件过滤器,可以实现想获取想要的文件

<span style="font-family:SimSun;font-size:18px;">package com.IO;

import java.io.File;
import java.io.FileFilter;

public class FileFlter {
public static void main(String[] args) {
File file = new File("c:" + File.separator + "1");
// 采用匿名类的形式封装FileFilter方法
File[] files = file.listFiles(new FileFilter() {
// 自定义自己的过滤方法
public boolean accept(File pathname) {
return pathname.getName().endsWith(".txt");
}
});
for (File s : files) {
System.out.println(s);
}
}
}
</span>


6.File类的判断方法

~boolean exists():判断File构造方法中封装的路径是否存在

~boolean isDirectory():判断File构造方法中封装的是不是目录

~boolean isFile():判断File构造方法中封装的是不是文件

~boolean isAbslute():判断File构造方法中封装的是不是绝对路径

~boolean isHidden():判断File构造方法中封装的路径是不是隐藏属性

<span style="font-family:SimSun;font-size:18px;">package com.IO;

import java.io.File;

/*
* 测试File的判断方法
*/
public class FileExists {
public static void main(String[] args) {
method();
}

//判断file构造方法封装的是不是绝对路径
private static void method_4(){
File file=new File("c:\\java");
boolean b=file.isAbsolute();
System.out.println(b);
}

//判断file构造方法封装的是不是文件
private static void method_2(){
File file=new File("c:\\java");
boolean b=file.isFile();
System.out.println(b);
}

//判断file构造方法封装的是不是目录
private static void method_1(){
File file=new File("c:\\java");
boolean b=file.isDirectory();
System.out.println(b);
}

//用来判断封装的某个路径是否存在
private static void method(){
File file=new File("c:\\windows");
boolean b=file.exists();
System.out.println(b);
}

}
</span>


7.File类的获取方法get开头

 static File[] listRoots() 返回当前系统根

String getName()
获取的是File构造方法封装的文件名或者是文件夹名,获取到的是封装的路径的最末尾的名字,文件夹,文件

String getParent() 获取的是File构造方法封装的路径的父路径,没有返回null,如果使用这个方法,返回的是String对象,可以使用String类的方法

File getParentFile()
获取的是File构造方法封装的路径的父路径,没有返回null,如果使用这个方法,返回的是File对象,可以使用File类的方法

String getPath()将File构造方法中封装的路径,变成String

String getAbsolutePath()获取File构造方法中封装的路径的绝对路径,返回String

File getAbsoluteFile()获取File构造方法中封装的路径的绝对路径,返回File

<span style="font-family:SimSun;font-size:18px;">package com.IO;

import java.io.File;

public class GetFile {
public static void main(String[] args) {
method_1();
}

private static void method_1(){
//获得指定的文件的名称
File file=new File("c:\\windows\\system32");
String name=file.getName();
//获得父级目录的对象路径
File parentFile=file.getParentFile();
System.out.println(parentFile.toString());
//获取绝对路径的方法
String absoluteFile=file.getAbsolutePath();

System.out.println(name);
}

//获得系统的根目录一般就是操作系统的C D E 的盘符
private static void method(){
File[] filelist=File.listRoots();
for(File o:filelist){
System.out.println(o);
}
}
}
</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: