黑马程序员-JAVA高级视频_IO输入与输出-20天-3(File文件递归)
2013-03-25 10:47
573 查看
package string.itcastio; import java.io.File; /* * 列出指定目录下文件或者文件夹,包含子目录中的内容 * 也就是列出目录下所有内容 * 因为目录中还有目录,只要使用同一个列出目录功能的函数完成即可 * 在列出过程中出现的还是目录的话,还可以再次调用本功能 * 也就是函数自身调用自身。 * 这种表现形式,或者编程手法,称为递归。 * 递归要注意: * 1.限定条件 * 2.要注意递归的次数。尽量避免内存溢出。 */ public class FileDemo3 { public static void main(String[] args) { File file = new File("F:\\javaweb"); // showDir(file); // System.out.println(getSum(100)); showDirlevel(file, 0); } public static String getLevel(int level) { StringBuilder sb = new StringBuilder(); sb.append("|--"); for (int i = 0; i < level; i++) { sb.insert(0, "| "); } return sb.toString(); } /** * 带层次的文件递归显示 * * @param file * @param level */ public static void showDirlevel(File file, int level) { level++; File[] files = file.listFiles(); for (File f : files) { if (f.isDirectory()) { showDirlevel(f, level); } else { System.out.println(getLevel(level) + f.getName()); } } } /** * 查看目录下的所有文件 * * @param file */ public static void showDir(File file) { File[] files = file.listFiles(); for (File f : files) { if (f.isDirectory()) { showDir(f); } System.out.println(f.getName()); } } /** * 整数相加 * * @param sum * @return */ public static int getSum(int sum) { if (sum == 1) { return sum; } return sum + getSum(sum - 1); } }
相关文章推荐
- 黑马程序员-JAVA高级视频_IO输入与输出-20天-2(File文件列表)
- 黑马程序员-JAVA高级视频_IO输入与输出-20天-4(File文件写入)
- 黑马程序员-JAVA高级视频_IO输入与输出-20天-6(File文件删除)
- 黑马程序员-JAVA高级视频_IO输入与输出-20天-5(File打印流)
- 黑马程序员-JAVA高级视频_IO输入与输出-20天-9(切割合并文件)
- 黑马程序员-JAVA高级视频_IO输入与输出-18天-4(文件的续写)
- 黑马程序员-JAVA高级视频_IO输入与输出-19天-7(字节流File读写操作)
- 黑马程序员-JAVA高级视频_IO输入与输出-20天-7(Properties练习)
- 黑马程序员-JAVA高级视频_IO输入与输出-19天-8(拷贝图片)
- 黑马程序员 —— Java高级视频_IO输入与输出(第十八天)1
- 黑马程序员-JAVA高级视频_IO输入与输出-18天-3(IO异常处理方式)
- 黑马程序员-JAVA高级视频_IO输入与输出-18天-6(文本文件读取方式二)
- 黑马程序员-JAVA高级视频_IO输入与输出-19天-10(读取转换流)
- 黑马程序员 —— Java高级视频_IO输入与输出(第十八天)2
- 黑马程序员-JAVA高级视频_IO输入与输出-19天-4(MyBufferedReader)
- 黑马程序员-JAVA高级视频_IO输入与输出-19天-6(LineNumberReader与自定义LineNumberReader)
- 黑马程序员 —— Java高级视频_IO输入与输出(第十九天)1
- 黑马程序员 —— Java高级视频_IO输入与输出(第十九天)2
- 黑马程序员-JAVA高级视频_IO输入与输出-19天-11(写入转换流)
- 黑马程序员 —— Java高级视频_IO输入与输出(第二十天)