我试图通过解析它(使用Files)从java src文件夹中获取包列表。无论封装结构如何(有些可能是 com.example.abc ,有些可能是 com.example.xxyz.pqr ,有些可能是 com.application < / strong>等)我想获取src文件夹中的包列表。这是我写的功能。我得到了非常奇怪的输出。请帮帮我。
public static void displayIt(File node) {
File[] subNode = node.listFiles();
if (subNode.length == 1) {
for (File file : subNode) {
if (file.isDirectory()) {
packageName = packageName + file.getName();
displayIt(file);
}
}
}
else {
subFolders = new ArrayList<String>();
for (File file : subNode) {
// parent.add(file.getName());
subFolders.add(file.getName());
if (file.isDirectory()) {
File[] subDir = file.listFiles();
for (File tempFile : subDir) {
if (tempFile.isDirectory()) {
// temp=file.getName()+"."+tempFile.getName();
packageList
.add(file.getName() + tempFile.getName());
displayIt(tempFile);
}
}
}
displayIt(file);
}
}
}
答案 0 :(得分:5)
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Set<String> files=new HashSet<>();
listOfPackage("src/",files);
System.out.println(files);
}
public static void listOfPackage(String directoryName, Set<String> pack) {
File directory = new File(directoryName);
// get all the files from a directory
File[] fList = directory.listFiles();
for (File file : fList) {
if (file.isFile()) {
String path=file.getPath();
String packName=path.substring(path.indexOf("src")+4, path.lastIndexOf('\\'));
pack.add(packName.replace('\\', '.'));
} else if (file.isDirectory()) {
listOfPackage(file.getAbsolutePath(), pack);
}
}
}
}
输出:
[com.think.android, com.think.java, com.test.java]
答案 1 :(得分:0)
列出所有软件包
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: example-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
- host: hello-world.info
http:
paths:
- path: /
backend:
serviceName: web
servicePort: 8080
结果
public class q {
public static void main(String args[]) {
Package[] pack = Package.getPackages();
// print all packages, one by one
for (int i = 0; i < pack.length; i++) {
String a = pack[i].toString() ;
System.out.println(a.replaceAll("package ", ""));
}
}
}