import java.io.*;
public class FileTree {
static private int degree=0;
private String str="0";
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
File filename=new File("F:\\java");
new FileTree().tree(filename);
} public void tree(File filename){
File[] child=filename.listFiles();
/* String str="";
for(int i=0;i<level;++i)
str+=" ";*/
str+="0";
for(int start=0;start<child.length;++start)
{
System.out.println(str);
System.out.println();
//System.out.println(str+child[start].getName());
if(child[start].isDirectory()){
tree(child[start]);
}
}
}
}
每一次遍历前面都是0,和注释的不一样的
解决方案 »
- java udp Socket接收包时,怎样把不可显的字符转换成16进制
- 加急问题在线等!!各位高手帮帮忙!在线等!!送100分
- 请问java中System.out.println()中打印出来的是换行,还是回车+换行。
- java中的"."到底是个什么概念
- Java的Label移动问题
- WizardPage的finish置灰
- 回退符的问题
- 请问下用DELPHI和JAVA做一个C/S的小的管理信息系统谁更麻烦点,谢谢
- 关于字符串比较的一点不解~
- 数据库进行双机切换的问题,紧急请教!!!
- 一个关于继承的基础问题
- 再问java反射的一个问题,如何返回一个类里面的全部String和Integer定义的字段?
public class ShowFileTree
{
public boolean showFile(File file,String s)
{
if(file.exists())//判断文件是否存在
{
if(file.isDirectory())//判断是否文件目录
{
//打印文件夹名然后递归文件夹里的内容
System.out.println(s+"文件夹"+file.getName());
File[] files = file.listFiles();
s+=" "; //缩进
for (File f : files)
{
showFile(f,s);
}
return true;
}
//如果是文件则直接打印文件名
System.out.println(s+file.getName());
return true;
}
return false;
}
public static void main(String[] args)
{
File file = new File("C:/TEST");
ShowFileTree showfile =new ShowFileTree();
String s="";
showfile.showFile(file,s);
}
}
这是我用递归显示文件类容的,你看看合适不!
这个我也知道 我就是想知道为甚麽我那个不对 改为static也不对
我的和你那个有什麽区别吗?
看下图
改为
for(int start=0;start<child.length;start++)
把缩进符号改成'+'好些package com.lhq;import java.io.*;
public class FileTree {
static private int degree=0;
private StringBuffer str = new StringBuffer("");
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
File filename=new File("C:\\tmp\\AIX");
System.out.println("rootNode:"+filename.getName());
FileTree tree = new FileTree();
tree.tree(filename);
tree.getTreeOut();
} public void getTreeOut()
{
System.out.println(str.toString());
}
public void tree(File filename){
int currDegree = this.degree;
if(filename.isFile())
{
for(int i=0;i<currDegree;i++)
{
str.append("+");
}
str.append(filename.getName());
str.append("\r\n");
}
if (filename.isDirectory())
{
this.degree++;
File[] child=filename.listFiles();
for(int start=0;start<child.length;++start)
{
tree(child[start]);
}
this.degree--;
}
}
}
public static void main(String[] args) {
File f=new File("E:\\help");
FileList flist=new FileList();
flist.tree(f,0);
}
private void tree(File f,final int level){
/*if(level>=3){
return;
}*/
String tag="";
for(int i=0;i<level;i++){
tag+="++++";
}
File[] files= f.listFiles();
for(int i=0;i<files.length;i++){
System.out.println(tag+files[i].getName());
if(files[i].isDirectory()){
int newlevel=level+1;
tree(files[i],newlevel);
}
}
}
}