文件在这里是随机输出得到的。要想你的文件有序输出你必须自己设定输出的结构!
String dirfile[] = f.list();
在得出这个dirfile后进行你需要的排列处理然后for( int i=0; i<dirfile.length; i++ )
{
String a;
a=dirfile[i].toString();
System.out.println();
}
String dirfile[] = f.list();
在得出这个dirfile后进行你需要的排列处理然后for( int i=0; i<dirfile.length; i++ )
{
String a;
a=dirfile[i].toString();
System.out.println();
}
http://www.yesky.com/SoftChannel/72342371961929728/20030813/1721118.shtml
public class TTest {
public static void main(String[] args) throws Exception {
String dir = "c:\\abc\\";
File f = new File(dir);
if (f.isDirectory()) {
String dirfile[] = f.list();
for(int j=dirfile.length-1;j>0;j--){
if(dirfile[j].length()<dirfile[j-1].length()){
String tempStr=dirfile[j];
dirfile[j]=dirfile[j-1];
dirfile[j-1]=tempStr;
}
}
for (int i = 0; i < dirfile.length; i++) {
String a;
a = dirfile[i].toString();
System.out.println(a);
}
} }
}
for(int i = 0; i<dirfile.length-1 ; i++){
for(int j = i+1; j<dirfile.length; j++){
if(dirfile[i].length()>dirfile[j].length()) {
String tempStr=dirfile[i];
dirfile[i]=dirfile[j];
dirfile[j]=tempStr;
}
}
}
还有输出的时候也有问题:
a = dirfile[i].toString();中的dirfile[i]已经被屏蔽掉了,应该在域里先声明如果还有一些小的出入你就自己解决吧!这个方法应该没问题
import java.io.*;
import java.util.*;
public class Test1 { public Test1() {
}
public static void main(String[] args){
File file = new File("F:\\myProjects\\");
String[] files = file.list();
Vector directories = new Vector();
//int counter=0;
File directory;
for (int i = 0; i < files.length; i++) {
if((directory = new File("f:\\myprojects\\"+files[i])).isDirectory()){
//counter++;
directories.addElement(files[i]);
}
}
String[] str = new String[directories.size()];
for (int i = 0; i < str.length; i++) {
str[i] = (String)directories.elementAt(i);
}
orderStringList(str);
for (int i = 0; i < str.length; i++) {
System.out.println(str[i]);
} //System.err.println(counter);
}
private static void orderStringList(String[] list){
int length = list.length;
String temp;
for (int i = 0; i <length-1; i++) {
for(int j = i+1;j <length;j++){
if(list[i].length()>list[j].length()){
temp=list[i];
list[i]=list[j];
list[j]=temp;
}
}
} }
}
//String dir ="D:\\Tomcat 5.1\\webapps\\ROOT\\cisys2\\tree\\test\\huishangyijian\\zhouhuishang";File f=new File(dir);
if(f.isDirectory() )
{
String dirfile[] = f.list();for( int i=0; i<dirfile.length; i++ )
{
String a;
a=dirfile[i].toString();
System.out.println(a);
%>
{
File file=new File(directory);
if (!file.isDirectory()) return;
System.out.println(directory);
String[] files=file.list();
Arrays.sort(files);
String _file=null;
for (int i=0; i<files.length; i++)
{
_file=directory+"\\"+files[i];
sort(_file);
}
}
{
File file=new File(directory);
if (!file.isDirectory()) return null;
ArrayList files=new ArrayList();
files.add(directory);
String[] _files=file.list();
String tmp=null;
for (int i=0; i<_files.length; i++)
{
tmp=directory+"\\"+_files[i];
if (getDirectory(tmp)!=null) files.addAll(getDirectory(tmp));
}
return files;
}
public void sort(String directory)
{
ArrayList arr=getDirectory(directory);
Object[] files=arr.toArray();
Arrays.sort(files,new Comparator(){public int compare(Object obj1,Object obj2) { return ((String)obj1).length()-((String)obj2).length();}});
for (int i=0; i<files.length; i++)
System.out.println(files[i]);
}