文件操作: 仅仅是文件操作!
1,常用的方法
public static void main(String[] args) {
File file1 = new File("d:\\FileDemo");//创建file对象,此时并没有文件目录存在
File file2 = new File("d:\\FileD\\demo.txt");//创建file对象,此时并没有文件存在
File file3 = new File("demo.txt");//创建file对象,此时是相对路径,目标在项目根路径下。
//创建目录 递归创建目录。 mkdir() 是创建一个目录
Boolean b1 = file1.mkdirs();
//删除目录
Boolean b2 = file1.delete();
//查看目录是否存在
Boolean b3 = file1.exists();
//判断是不是目录
Boolean b4 = file1.isDirectory();
//获取目录名称
String name = file1.getName();
//获取父目录
File file = file1.getParentFile();
//获得目录绝对路径
String path = file1.getAbsolutePath();
<pre name="code" class="java"><span style="white-space:pre"> </span>//重命名的时候 前面的路径一定要一样,不然修改不成功。
File file = new File("D:\\FileDemo\\abc");
File file2 =new File("D:\\FileDemo\\bcs");
Boolean v = file.renameTo(file2);
//设置权限
File file3 = new File("a.txt");
Boolean boolean2 = file3.setReadOnly();
//创建文件 当创建“java/test.txt”这样的文件时,如果java目录不存在,则不能创建,也就是当有目录结构时,父级目录必须存在才可以创建文件try {Boolean boolean1 = file3.createNewFile();} catch (IOException e) {e.printStackTrace();}//判断文件是否存在Boolean boo1 = file3.exists();//获得文件的绝对路径String path1 = file3.getAbsolutePath();//判断是否是文件Boolean boo2 = file3.isFile();//获得父目录File fi = file2.getParentFile();} 2,方法的应用
File file2 = new File("d:\\FileDemo\\demo.txt");//创建file对象,此时并没有文件存在
//应用中可以先获得路径,然后进行操作.
String path = file2.getAbsolutePath(); //获得全路径
File file = file2.getParentFile(); //得到父目录
String path2= file+"\\demo2.txt"; //对父目录进行操作,产生新的路径。创建新的文件
String path3 = file+"\\dir2"; //创建新的目录
Boolean b1 = new File(path3).mkdirs(); //创建新的目录
try {
Boolean b2 = new File(path2).createNewFile(); //创建新的文件
} catch (IOException e) {
e.printStackTrace();
}
Boolean b2 = new File(path3).delete(); //删除文件,删除目录。
3,遍历获得当前目录下的目录和文件
File file = new File("d:\\FileDemo");
File[] files = file.listFiles(); //获得当前文件夹下 所有的目录和文件对象。d:\FileDemo\abc,d:\FileDemo\demo.txt
for(int i=0;i<files.length;i++){
System.out.println(files[i]);
}
String[] s = file.list(); //获得当前文件夹下所有文件和文件夹名称 abc,demo.txt
for(int i=0;i<s.length;i++){
System.out.println(s[i]);
}
4,综合应用 实现目录的查询和删除
public class Test {
//循环遍历输出当前文件夹下所有的文件
public static void printAllFile(File f) {
if(f.isDirectory()){
File[] files =f.listFiles();
for(int i=0;i<files.length;i++){
if(files[i].isDirectory()){
printAllFile(files[i]); //递归
}else{
System.out.println(files[i]);
}
}
}
}
//删除当前文件夹下的所有,包括当前文件夹
//delete() 方法能删除文件,能删除为空的文件夹 ,不能删除不为空的文件夹
public static void deleteAll(File f) {
if(f.isFile()){
f.delete();
}else{
File[] fiels = f.listFiles();
for(int i=0;i<fiels.length;i++){
deleteAll(fiels[i]);
}
f.delete();
}
System.out.println("删除完成!");
}
public static void main(String[] args) {
File file = new File("D:\\FileDemo"); //如果文件夹不存在,则不能创建文件!
//Test.printAllFile(file);
//Test.deleteAll(file);
}
}