这个程序找出来所有 java.lang 包下面的包,结果如下: java.lang java.lang.ref java.lang.reflect java.lang.annotation java.lang.management程序是……/* * @(#) Test.java * Create By James Fancy */ package jamesfancy;public class Test { public static void test() { String p = "java.lang"; Package[] ps = Package.getPackages(); for (int i = 0; i < ps.length; ++i) { if (ps[i].getName().startsWith(p)) { System.out.println(ps[i].getName()); } } } public static void main(String[] args) { test(); }}
to:umbrella1984(雨伞) 这种遍历文件夹的方法不错,但现在的问题是包的根和文件夹的根不能对应to: jamesfancy()边城狂人(James Fancy) Package.getPackages() Get all the packages currently known for the caller's ClassLoader instance. 所以这种方法不具有普遍性!
import java.util.*;
public class f
{public static void main(String [] args)
{
try{
File f=new File("c:/abc");//myfile(f);
bianli("c:/abc");}
catch(Exception e){}
}static void myfile(File f){File[] ff=f.listFiles();for(int i=0;i<ff.length;i++)
{
if(ff[i].isDirectory())
{
System.out.println("directory:"+ff[i].getPath());
myfile(ff[i]);
}
else
{
System.out.println("fiel name:"+ff[i].getPath());
}}}
int length;
String subpath;
File newfile = new File(path);
boolean rf = false;
if(newfile.isDirectory()){
String filelist[] = newfile.list();
length = filelist.length;
for(int i = 0; i < length; i++){
subpath = path + "\\" + filelist[i];
rf = bianli(subpath);
}
}
else if(newfile.isFile()){
System.out.println("\t"+path);
}
return rf;
}
}
java.lang
java.lang.ref
java.lang.reflect
java.lang.annotation
java.lang.management程序是……/*
* @(#) Test.java
* Create By James Fancy
*/
package jamesfancy;public class Test { public static void test() {
String p = "java.lang";
Package[] ps = Package.getPackages();
for (int i = 0; i < ps.length; ++i) {
if (ps[i].getName().startsWith(p)) {
System.out.println(ps[i].getName());
}
}
} public static void main(String[] args) {
test();
}}
这种遍历文件夹的方法不错,但现在的问题是包的根和文件夹的根不能对应to: jamesfancy()边城狂人(James Fancy)
Package.getPackages()
Get all the packages currently known for the caller's ClassLoader instance.
所以这种方法不具有普遍性!