1.classinappå®å5.1ä¸è½å®è£
2.遍历信息显示包名是怎么回事
classinappå®å5.1ä¸è½å®è£
ç³»ç»ä¸æ¯æãclassinappå®å5.1æ¯ä¸ä¸ªæ°åºççæ¬ï¼ç±äºè¿ä¸ªç³»ç»ä¸æ¯æï¼æ以ä¸è½å®è£ ãå®åæ¯ä¸ç§åºäºLinuxçèªç±åå¼æ¾æºä»£ç çæä½ç³»ç»ã
遍历信息显示包名是怎么回事
如果你看过一些框架的源码,就知道大多数情形时他们都是微分销签到源码先找到某个包的对应的文件位置,并遍历其下面的可用的防红源码文件,读取其文件名,楼梯的股票公式源码对应的ecc生成公私钥源码就是类名。 /** @(#)PackageUtil.java 1. --
*
* Copyright (c) Shenzhen Surfilter Network Technology Co.,线报实时采集源码Ltd. All rights reserved.
*/
package org.rut.core;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.jar.JarEntry;
import java.util.jar.JarInputStream;
/**
* @since --
* @author wushugen
*
* Modified History:
*
*/
public class PackageUtil {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
List<String> cls = getClassInPackage("java.util");
for(String s:cls){
System.out.println(s);
}
}
public static List<String> getClassInPackage(String pkgName) {
List<String> ret = new ArrayList<String>();
String rPath = pkgName.replace('.', '/') + "/";
try {
for (File classPath : CLASS_PATH_ARRAY) {
if(!classPath.exists()) continue;
if (classPath.isDirectory()) {
File dir = new File(classPath, rPath);
if(!dir.exists()) continue;
for (File file : dir.listFiles()) {
if (file.isFile()) {
String clsName = file.getName();
clsName = pkgName+"." +clsName.substring(0, clsName.length() - 6);
ret.add(clsName);
}
}
} else {
FileInputStream fis = new FileInputStream(classPath);
JarInputStream jis = new JarInputStream(fis, false);
JarEntry e = null;
while ((e = jis.getNextJarEntry()) != null) {
String eName = e.getName();
if (eName.startsWith(rPath) && !eName.endsWith("/")) {
ret.add(eName.replace('/', '.').substring(0,eName.length()-6));
}
jis.closeEntry();
}
jis.close();
}
}
} catch (Exception e) {
throw new RuntimeException(e);
}
return ret;
}
private static String[] CLASS_PATH_PROP = { "java.class.path", "java.ext.dirs",
"sun.boot.class.path" };
private static List<File> CLASS_PATH_ARRAY = getClassPath();
private static List<File> getClassPath() {
List<File> ret = new ArrayList<File>();
String delim = ":";
if (System.getProperty("os.name").indexOf("Windows") !=-1)
delim = ";";
for (String pro : CLASS_PATH_PROP) {
String[] pathes = System.getProperty(pro).split(delim);
for (String path : pathes)
ret.add(new File(path));
}
return ret;
}
}
南星直播源码_南星直播源码下载
必涨无疑公式源码_必涨选股公式代源码
小牛通讯模块破解源码_小牛通讯模块破解源码教程
小说站源码自动采集
辽宁本溪:地理标志赋能地区经济发展
web网上报修源码_web填报系统