首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >获取java项目中的包列表。

获取java项目中的包列表。
EN

Stack Overflow用户
提问于 2014-10-21 19:45:30
回答 2查看 2.1K关注 0票数 2

我试图通过解析(使用Files)从java src文件夹获取包列表。与包结构无关(有些可能是com.example.abc,,有些可能是com.example.xxyz.pqr,,有些可能是com.application等)。我想得到src文件夹中的包列表。这是我写的函数。我得到了非常奇怪的结果。请帮帮我。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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);
        }
    }

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-21 20:34:42

你可以这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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);
            }
        }
    }
}

产出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[com.think.android, com.think.java, com.test.java]
票数 8
EN

Stack Overflow用户

发布于 2020-02-23 04:11:26

列出所有包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   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 ", ""));
            }
        }
    }

结果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
java.util.jar
jdk.internal.perf
sun.nio.fs
sun.invoke.empty
sun.security.action
java.lang
jdk.internal.jrtfs
java.util.function
java.security
java.util.regex
jdk.internal.reflect
sun.util.calendar
jdk.internal.misc
jdk.internal.ref
java.util.zip
java.math
sun.security.util
java.time.chrono
sun.util.locale
java.util.concurrent.atomic
sun.nio.ch
jdk.internal.org.objectweb.asm
sun.reflect.annotation
jdk.internal.vm
java.util.concurrent.locks
java.lang.constant
java.nio
jdk.internal.loader
java.time.temporal
sun.net.util
java.nio.charset
jdk.jfr.internal
jdk.internal.math
sun.io
java.io
sun.net.www
java.nio.file.attribute
sun.nio.cs
java.nio.channels
java.nio.channels.spi
jdk.internal.util.jar
jdk.internal.access
java.util.stream
jdk.internal.util
sun.net.www.protocol.file
java.lang.ref
java.nio.file.spi
java.lang.reflect
sun.util
java.time.zone
sun.launcher
sun.net.www.protocol.jrt
java.lang.module
java.util
jdk.internal.jimage.decompressor
java.time
java.nio.charset.spi
java.security.cert
sun.net.www.protocol.jar
java.nio.file
sun.reflect.misc
java.lang.invoke
sun.invoke.util
java.lang.annotation
jdk.internal.jimage
jdk.internal.module
java.net
java.util.concurrent
javax.lang.model.util
javax.tools
javax.lang.model
javax.lang.model.type
jdk.nio.zipfs
javax.lang.model.element
com.sun.tools.javac.tree
com.sun.tools.javac.launcher
com.sun.tools.javac.main
com.sun.tools.javac.parser
com.sun.tools.javac.platform
com.sun.tools.javac.processing
com.sun.tools.javac.file
com.sun.tools.javac.api
com.sun.source.util
com.sun.source.tree
com.sun.tools.javac.jvm
com.sun.tools.doclint
com.sun.tools.javac.model
com.sun.tools.javac.comp
com.sun.tools.javac.code
com.sun.tools.javac.resources
com.sun.tools.javac.util
com.sun.source.doctree
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26500004

复制
相关文章
[javaSE] java获取文件列表
递归测试 import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class FilesDemo { private static final String FILE_PATH = "./"; private static List<Map<String, String>> FileList;
唯一Chat
2019/09/10
2.1K0
「R」获取R包中的函数和对象列表
问题 你想知道包里有什么。 方案 在一个新的 R 会话中使用 search() 可以查看默认加载的包。 search() #> [1] ".GlobalEnv" "package:ellipse" #> [3] "package:Cairo" "package:grid" #> [5] "package:dplyr" "package:scales" #> [7] "package:Rmisc" "package:plyr" #>
王诗翔呀
2020/07/03
7.3K0
java获取kafka主题列表 原
首先引入依赖 <!-- kafka --> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>0.10.2.1</version> </dependency> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka_2.11</artifactI
尚浩宇
2018/08/17
2.6K0
获取当前jar包路径_java获取jar文件
获取classpath的路径,若没有其他依赖,在cmd下运行该可执行jar包,则该值即为该jar包的绝对路径。代码如下:
全栈程序员站长
2022/11/10
7.5K0
Maven 引用项目中的jar包
这样就省去了将jar包安装到本地maven仓库的麻烦~只要保证需要用的jar包在lib下面就可以了。
前Thoughtworks-杨焱
2021/12/08
8480
Go系列:Go项目中包的管理
以前的go 项目需要放在GOPATH中src中编译执行,在golang1.11之后引入了go modules特性。在go1.11之后的版本可以使用go modules管理go项目中包的依赖,也使项目脱离了GOPATH,可以放置在任意目录。
三猫
2020/11/19
1.1K0
maven: 打包可运行的jar包(java application)及依赖项处理
IDE环境中,可以直接用exec-maven-plugin插件来运行java application,类似下面这样: 1 <plugin> 2 <groupId>org.codehaus.mojo</groupId> 3 <artifactId>exec-maven-plugin</artifactId> 4 <version>1.2.1</version> 5 <executions> 6 <execution> 7 <
菩提树下的杨过
2018/01/19
2.1K0
idea单元测试(导入Junit4的Java包到项目中)
小尘要自信
2023/10/10
1.2K0
idea单元测试(导入Junit4的Java包到项目中)
java-解决jar包反射获取不到类
在开发一个基础工具包给业务组的小伙伴们使用的时候,发现一个小问题,就是在反射的时候在自己电脑上运行的正常,但是打成jar包后,就class not fuond,有点奇怪。 如果能借助Spring这个都不是事,关键是不能用。
潇洒
2023/10/20
7230
SpringBoot获取配置项原内容
那么使用该工具类getProperty("my.url")获取到的就是 https://${my.name}.com 原文, 而不是 https://test.com
code-x
2023/02/23
9610
IDEA项目中把包分层显示的方式
首先打开项目旁边的的设置按钮 然后把如下的选中去掉即可 这样包分层就很明显了。
兮动人
2021/06/11
1.1K0
IDEA项目中把包分层显示的方式
原 获取Android获取传感器列表
Android 4.4 (API等级19)支持以下传感器: TYPE_ACCELEROMETER 加速度传感器,单位是m/s2,测量应用于设备X、Y、Z轴上的加速度 传感器类型值(Sensor Type):1 (0x00000001) TYPE_AMBIENT_TEMPERATURE 温度传感器,单位是℃ 传感器类型值(Sensor Type): 13 (0x0000000d) TYPE_GAME_ROTATION_VECTOR 游戏动作传感器,不收电磁干扰影响 传感
霡霂
2018/06/04
2.5K0
解决python3项目中无法使用supervisor的问题
在我的Dockerfile中这样安装 # 安装项目所需的第三方 RUN python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt \ && python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple \ gunicorn \ && python3 -m pip install git+https
简单、
2018/07/17
1.2K0
java 获取_java中的html如何获取
UUID,通用唯一识别码,是由一组32位数的16进制数字所构成,可以产生一个号称全球唯一的ID,可以用来命名文件、变量以及数据库的ID主键等属于唯一的元素。
全栈程序员站长
2022/09/22
7.4K0
java 获取_java中的html如何获取
获取请求包中的数据
Enumeration e = request.getHeaderNames(); while(e.hasMoreElements()){ String name = e.nextElement().toString(); System.out.println("headName"+request.getHeader(name)); } System.out.println("请求方式:"+request.getMethod()); System.ou
用户6493868
2022/03/06
1.9K0
Python判断列表中是否有某个项
这个算法比较巧妙:遍历列表,把列表中的每一项与匹配项进行比较,如果不相等就把下标为i的列表的值赋值给下标为k的列表,因为初始时k=i=0,意思就是取出当前项再赋值给当前项,假设有列表[1,2,3],匹配项val是2,则循环第一次后1的位置不变,当i=1,k=1时,也就是列表元素为2时,lt[i]!=val为false,进入下一次循环,此时k=1,i=2,lt[2]!=val (备注:lt[2]=2)满足条件,则执行lt[k]=lt[i],3会覆盖2的位置,列表就变成了[1,3,3],循环完毕,返回k值,再使用字符串截取lt[:k],截取从0位置开始,截取长度为k的闭区间长度的字符串,所以为1,3
程序员小新
2021/12/29
2.3K0
【规范】统一项目中包管理器的使用
Dear,大家好,我是“前端小鑫同学”,😇长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~ 【规范】统一项目中包管理器的使用 背景介绍: 我们这里暂不说各种包管理器的优缺点,在实际开发中遇到的一个问题就是,你本地经常使用cnpm来安装,但Jenkins自动构建用的npm,偶尔就会出现本地开发很正常但是Jenkins构建失败报警了,为了避免类似问题的出现,也应该要将能统一的都统一规范。 实现原理: 通过preinstall来在执行install前执行指定脚本; 在preinstall脚
前端小鑫同学
2022/12/26
1.4K0
【规范】统一项目中包管理器的使用
Java的包
指的是一个程序的目录,在最早的时候,如果要开发一个程序,只需要定义一个Java文件,而后在这个文件中编写所需要的类文件。
Mirror王宇阳
2020/11/12
1.1K0
vue2项目中如何使用es2020
ECMAScript 基于多种原始技术,最著名的是 JavaScript (Netscape) 和 JScript (Microsoft)。截止2022年,正式标准一共发布12次,es2020草案撰写中。
奋飛
2021/12/30
1K0
点击加载更多

相似问题

获取java项目中的包列表。

10

获取Java项目中的基包

20

Java反射-获取包的列表

20

java项目中的所有包

20

Java 7项目中不可用的包javax.json

213
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文