File
一、什么是File类?
File类就是Java中对文件这类事物的描述,Field类对象可以代表一个路径,该路径可以是文件也可以是文件夹,该类方法可以对这个路径进行各种操作
二、创建Field对象的格式
给Field类的构造函数传一个String类型的路径就可以创建Field对象 File f = new File("file.txt");
File对象的路径:
1、绝对路径:从 盘符开始,是一个固定路径
2、相对路径:不从盘符开始,相对于某个位置,在 Eclipse中如果使用相对路径,则相当于工程根目录,cmd中则相当于当前目录
常用方法:
File类就是Java中对文件这类事物的描述,Field类对象可以代表一个路径,该路径可以是文件也可以是文件夹,该类方法可以对这个路径进行各种操作
二、创建Field对象的格式
给Field类的构造函数传一个String类型的路径就可以创建Field对象 File f = new File("file.txt");
File对象的路径:
1、绝对路径:从 盘符开始,是一个固定路径
2、相对路径:不从盘符开始,相对于某个位置,在 Eclipse中如果使用相对路径,则相当于工程根目录,cmd中则相当于当前目录
常用方法:
<span style="font-size:14px;">/*
创建:
*****createNewFile() 创建文件
*****mkdir(); 创建文件夹(仅一级)
*****mkdirs(); 创建文件夹(父级不存在也创建)
判断:
*****boolean exists() 判断是否存在
boolean isAbsolute(); 是否是绝对路径
*****boolean isDirectory(); 是否是文件夹
*****boolean isFile(); 是否是文件
boolean isHidden(); 是否是隐藏文件
canRead(); 是否可读
canWrite(); 是否可写
canExecute(); 是否可执行
获取:
getAbsolutePath(); 获取绝对路径
*****getParent()); 获取父级路径
*****getName()); 获取文件或文件夹名
*****length() 文件大小
*****lastModified(); 获取文件的最后修改时间
getFreeSpace(); 获取当前盘符剩余空间
getTotalSpace(); 获取当前盘符总空间
getUsableSpace(); 获取当前盘符可用空间
设置:
setReadable(false); 设置是否可读
setWritable(false); 设置是否可写
setExecutable(false); 设置是否可执行
setLastModified(); 设置文件的最后修改时间
删除:
*****delete() 删除, 文件可以直接删除, 文件夹只能删空的
剪切:
**renameTo(); 改名, 可以移动文件
比较特殊的方法:
File[] listRoots() 列出计算机中所有的盘符
String[] list() 返回指定目录下的所有文件及目录,包含隐藏文件
*****File[] listFiles() 返回指定目录下的所有文件及目录
*/</span>
演示:<span style="font-size:14px;">class FileDemo
{
public static void main(String [] args){
showRoots();
}
//列出计算机下所有盘符
public static void showRoots(){
File [] f = File.listRoots();
for(File file:f)
System.out.println(f);
}
//列出指定目录下所有文件
public static void showList(){
File file = new File("D:");
String [] str = file.list();
for(String s:str)
System.out.println(s);
}
//返回指定目录下的所有文件及目录
public static void showlistFiles(){
File file = new File("D:");
File [] fi = file.listFiles();
for(File f:fi){
//如果后罪名为 .Java
if(f.getName.endsWith(".java"))
System.out.println(f);
}
}
}</span>
练习一、列出指定目录下的所有文件<span style="font-size:14px;">/*
列出指定目录下文件或者文件夹,包含子目录中的内容。
也就是列出指定目录下所有内容。
*/
import java.io.*;
import java.util.*;
class FileDemo1
{
public static void main(String[] args)
{
File file = new File("D:\\a");
if(file.exists()){
if(file.isDirectory())
show(file);
}
}
public static void show(File file){
File [] fi = file.listFiles();
System.out.println(file);
for(File f:fi){
if(f.isDirectory()){
show(f);
}
else
System.out.println(f);
}
}
}
</span>
练习二、将文件路径存放到一个文件中<span style="font-size:14px;">/*
将一个指定目录下的java文件的绝对路径,存储到一个文本文件中。
建立一个java文件列表文件。
*/
import java.io.*;
import java.util.*;
class FileDemo2
{
public static void main(String[] args)
{
//要列出的根目录
File file = new File("D:\\S1\\教程\\JAVA教程\\Step1----J2SE部分\\毕向东Java基础");
//用于存放路径
List<File> list = n