Java io流之File
来源:互联网 发布:域名商 编辑:程序博客网 时间:2024/05/01 01:22
Java io流之File
文件和文件夹创建和删除
package com.main;import java.io.File;import java.io.IOException;public class 文件和文件夹删除和创建 { public static void main(String[] args) throws IOException { //物理文件的java对象描述 //File可以代表文件和文件夹 //File对象可以创建、删除、获取文件和文件夹 //判断文件、文件夹是否存在,不存在则创建 File file = new File("d:\\index.txt");//文件 File folder = new File("d:\\index");//文件夹 if(file.exists()){ file.delete();//存在文件则删除 System.out.println("文件删除成功~"); }else{ if(file.createNewFile()){ System.out.println("文件创建成功~"); } } if(folder.exists()){ folder.delete(); System.out.println("文件夹删除成功~"); }else{ if(folder.mkdir()){ System.out.println("文件夹创建成功~"); } } }}
总结:
- 文件的创建和文件夹的创建不同,前者使用createNewFile()方法,而后者使用mkdir()方法创建;
- 区别mkdir()方法和mkdirs()方法:
- mkdir()表示只能在已经存在的目录下创建文件夹
- mkdirs()表示可创建多久目录,即可以在不存在的目录下创建文件夹
获取文件规范全路径
package com.main;import java.io.File;import java.io.IOException;public class 获取文件规范全路径 { public static void main(String[] args) { //文件的路径 //这里使用getCanonicalPath()方法返回规范的全路径 File file=new File("d:\\hzj123.txt"); try { System.out.println(file.getCanonicalPath()); } catch (IOException e) { } }}
递归算法获取目录下的所有文件和文件夹
package com.main;import java.io.File;public class 递归获取文件和文件夹路径 { static int fileNum = 0;// 目录下文件总数 static int folderNum = 0;// 目录下文件夹总数 static int totalTimes = 0;// 记录总共遍历的次数 static boolean isRoot = false;// 表示默认不是根目录 // 递归 public static void allFile(String pathname) { totalTimes += 1; File file = new File(pathname); // 判断是否存在,并且是文件夹 if (file.exists()) { // 判断是文件还是文件夹 if (file.isDirectory()) { // 第一次访问的时候 if (totalTimes == 0) { folderNum = -1; } folderNum += 1; // System.out.println(folderNum + "文件夹:" + file); File[] files = file.listFiles();// 获得当前所有的文件路径集合 // 如果没有访问权限,那么会得到空对象,所以,此处应该包含这类判断 if (files == null) { } else if (files.length > 0) { for (int i = 0; i < files.length; i++) { if (files[i].isDirectory()) { allFile(files[i].toString()); } } } } else if (file.isFile()) { fileNum += 1; System.out.println(fileNum + "文件:" + file); } else { } } else { System.out.println("路径不存在~"); } } public static void main(String[] args) { File file = new File("G:\\Media\\练声"); if (file.exists()) { allFile(file.toString()); } System.out.println("当前目录以下文件总数为:" + fileNum); System.out.println("当前目录以下文件夹总数为:" + folderNum); System.out.println("递归次数:" + totalTimes); }}
另一种递归方式获取…
package com.main;import java.io.File;import java.io.IOException;public class 另一种效率高很多的递归方式获取文件夹和文件路径 { // 打印出给定的根文件夹的所有文件或者文件夹 public void getAllFiles(String path) { File file = new File(path); File[] files = file.listFiles(); try { for (int i = 0; i < files.length; i++) { // 打印结果 try { System.out.println(files[i].getCanonicalPath()); } catch (IOException e) { e.printStackTrace(); } // 如果是目录,那么继续使用getAllFiles方法递归 if (files[i].isDirectory()) { try { getAllFiles(files[i].getCanonicalPath()); } catch (IOException e) { e.printStackTrace(); } } } } catch (Exception e) { } } /** * @param args */ public static void main(String[] args) { 另一种效率高很多的递归方式获取文件夹和文件路径 test4 = new 另一种效率高很多的递归方式获取文件夹和文件路径(); test4.getAllFiles("C:\\"); }}
0 0
- Java io流之File
- java-IO流之File
- java io 之 File
- Java IO之File
- Java IO之File
- Java IO之File
- java基础--IO流之File类
- Java基础--IO流之File类
- Java基础:IO流之File类
- java之IO流-File v_1.0.0
- java之 IO之File
- java IO流:File
- java io 之File类
- Java IO之File类
- java之Io-File类
- Java IO 之File操作
- Java IO 之File操作
- JAVA-IO之File类
- 开始学习C++心得实例(6)
- Shell脚本[运算表达式,条件控制语句]
- Repeater篇
- sgu140: Integer Sequences
- Qt 读写xml文件
- Java io流之File
- android json解析及简单例子
- C/C++ 内置类型转换注意点
- 51Nod 1103 N的倍数
- Pots
- codeforces #309 553C C. Love Triangles(dfs+ 图论)
- swift初体验
- iOS学习笔记 数据库操作(使用FMDB)
- 关于使用 MongoDB Connector for Hadoop 的经验和教训