-------android培训、java培训、期待与您交流! ----------
package com.itcast.b20.io.file;
import java.io.File;
public class FileListRecursive
{
/**
* @param args
*/
public static void main(String[] args)
{
/**
* 1.列出指定目录下文件或者文件夹,包含子目录中的内容。
也就是列出指定目录下所有内容
*/
File dir = new File(".");
//listDir(dir);
/**
* 2.带格式的列出指定目录下文件与文件夹
*/
//listDirFormat(dir, 0);
/**
* 3.StringBuilder 缓存层级字符串
*/
//listDirFormat2(dir, 0);
/**
* 4.递归求和
*/
// int sum = 0;
// int start = 1, end = 100;
// sum = getSum(start, end);
// System.out.println(sum);
/**
* 5.十进制转二进制
*/
int decimal = 20;
StringBuilder sb = new StringBuilder();
toBin(decimal, sb);
//int binary = Integer.valueOf(sb.toString());
System.out.println(sb.toString());
}
private static void toBin(int decimal, StringBuilder sb)
{
if(decimal > 0)
{
int b = decimal % 2;
sb.insert(0, b);
toBin(decimal/2, sb);
}
}
private static int toBin(int decimal)
{
return 0;
}
private static int getSum(int start, int end)
{
if(1 == end)
return 1;
else return getSum(start, end-1) + end;
}
private static String getLevels(int level)
{
StringBuilder sb = new StringBuilder();
sb.append("|-");
for(int i=1; i<level; i++)
{
sb.insert(0, "| ");
}
return sb.toString();
}
private static void listDirFormat2(File dir, int level)
{
//打印目录名
sop(getLevels(level)+dir.getName());
//进入目录遍历,层级加1
level++;
File[] fs = dir.listFiles();
for(File f : fs)
{
if(f.isDirectory())
listDirFormat2(f, level);
else
sop(getLevels(level)+f.getName());
}
}
private static void showLevels(int level)
{
for(int i=1; i<level; i++)
{
//System.out.print(" ");//空格缩进
//System.out.print("| ");//空格缩进
}
System.out.print("|-");//紧挨着文件名输出
}
private static void listDirFormat(File dir, int level)
{
showLevels(level);
sop(dir.getName());
File[] fs = dir.listFiles();
for(File f : fs)
{
if(f.isDirectory())
listDirFormat(f, level+1);
else
{
showLevels(level+1);
sop(f.getName());
}
}
}
private static void listDir(File dir)
{
sop(dir.getName());//先要列出当前目录的名称
File[] fs = dir.listFiles();
for(File f : fs)
{
if(f.isDirectory())
{
listDir(f);
}
else
sop(f.getName());
}
}
public static void sop(Object o)
{
System.out.println(o);
}
}
-------
android培训
、
java培训
、期待与您交流! ----------