在linux系统中编译、执行java程序

在linux系统中,/shiji这个目录下写一个最简单的遍历“/home”目录下文件夹的小程序:

importjava.io.*;

publicclassgetfile{

publicstaticvoidmain(String[]args){

Filefile=newFile("/home");

System.out.println(file.getName());

File[]files=file.listFiles();

for(inti=0;i<files.length;i++){

System.out.println(files[i].getAbsolutePath());

}

}

}

这里,没有指明包结构,如果在代码中有的话,则要在/shiji/这个目录下,建立对应的目录结构,例:/shiji/com/bxf/linuxTest/

然后,找到java-jdk的安装目录:

我的是:/opt/jdk

进入bin目录下执行:

./javac/baoxiaofei/getfile.java

因为代码简单,一次编译成功!

然后,进入到代码对应的目录:/shiji下执行:

javagetfile

得到结果如下:

home

/home/....

/home/....

/home/....

/home/....

处于公司变态的规定,不敢把目录详细列出来!

另外,代码很简单,在eclipse中,按照别人的思路,写了一个(也是很简单)递归遍历文件的代码,贴上来,免得自己忘了:

packagecom.baoxiaofei.FileTest;

importjava.io.File;

importjava.util.LinkedList;

/**

*遍历文件夹

*非递归方式

**/

publicclasstraverseFolder{

privatestaticfinallongZERO=0L;

staticintnum_file=0;

staticintnum_folder=0;

StringBuildersb=newStringBuilder();

publicvoidtraverseWay(Filedir){

File[]files=dir.listFiles();

LinkedList<File>tmp_list=newLinkedList<File>();

if(files.length==ZERO){

System.out.println("theFolderisnull!");

}

for(inti=0;i<files.length;i++){

if(files[i].isDirectory()){

tmp_list.add(files[i]);

num_folder++;

}else{

sb.append(files[i].getName());

sb.append("\n\r");

System.out.println("----thefile:"+files[i].getAbsolutePath()+

"'ssizeis:"+files[i].getTotalSpace());

num_file++;

}

}

Filetmp_file;

while(!tmp_list.isEmpty()){

tmp_file=(File)tmp_list.removeFirst();

if(tmp_file.isDirectory()){

System.out.println("starttotraverse:"+tmp_file);

files=tmp_file.listFiles();

for(intj=0;j<files.length;j++){

System.out.println();

}

}

}

}

publicstaticvoidmain(String[]args){

/*这里就不具体写了*/

}

}

相关推荐