File类
在整个IO包中,唯一表示与文件本身有关的类,这个类可以对文件进行创建、删除、重命名、判断路径等操作
注意:windows用“\” Linux用“/”
为增强移植性分隔符可用:File.separator表示
File f = new File("d:"+File.separator+"wss.txt") ;// 实例化File类的对象
常用方法:
1、首先了解File类的构造方法:
//从父抽象路径名和子路径名字符串创建新的 File实例。
File(File parent, String child)
File(String pathname)
//通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
File(String parent, String child)
//从父路径名字符串和子路径名字符串创建新的 File实例。
File(URI uri)
//通过将给定的 file: URI转换为抽象路径名来创建新的 File实例。
也就是说 实例化一个File类时必须设置好路径。
2、创建一个文件:
public boolen createNewFile("路径地址") throws IOException
eg:在D盘下新建文件wss.txt
import java.io.File;
import java.io.IOException;
public class FileTest {
public static void main(String[] args) {
File f = new File("d:\\wss.txt") ;// 实例化File类的对象
try{
f.createNewFile();// 创建文件
System.err.println("创建成功!");
}catch(IOException e){
e.printStackTrace();// 输出异常信息
}
}
}
3、删除文件D盘下的一个文件
/*
*删除文件前最好判断一下文件是否存在!
*/
import java.io.File;
public class DeleteTest {
public static void main(String[] args) {
File f= new File("d:"+File.separator+"wss.txt");//实例化File类的对象
if(f.exists()){
f.delete();//删除文件
}
}
}
4、创建文件夹
File f= new File("d:"+File.separator+"文件夹名称");//实例化File类的对象
f.mkdir()//创建问价夹
5、列出指定目录全部文件
/*
*使用list()
*/
import java.io.File;
public class listTest {
public static void main(String[] args) {
File f=new File("D:"+File.separator);//实例化File类对象
String str[]=f.list();//保存指定路径下的文件名称
for(int i=0;i<str.length;i++)
{
System.out.println(str[i]);
}
}
}
/*使用listFiles()*/
import java.io.File;
public class listTest {
public static void main(String[] args) {
File f=new File("D:"+File.separator);
File str[]=f.listFiles();
for(int i=0;i<str.length;i++)
{
System.out.println(str[i]);
}
}
}
6、判断给定路径是否为目录
...
if(f.isDirectory())
...
输出某文件夹内所有文件
/*采用递归的方式 ,逐个文件夹判断输出*/
import java.io.File;
public class Filemenuall {
public static void main(String args[]){
File f= new File("d:" + File.separator+"图片") ;//指定的目录
print(f) ;
}
public static void print(File file){ // 递归调用
if(file!=null){ // 判断对象是否为空
if(file.isDirectory()){ // 如果是目录
File f[] = file.listFiles() ; // 列出全部的文件
if(f!=null){ // 判断此目录能否列出
for(int i=0;i<f.length;i++){
print(f[i]) ; // 因为给的路径有可能是目录,所以,继续判断
}
}
}else{
System.out.println(file) ; // 输出路径
}
}
}
}