如何在Java中提取tar(或tar.gz或tar.bz2)文件? 解决方案如下: 注意:此功能后来通过单独的项目Apache Commons Compress发布为described in another answer.。此答案已过时。 我没有直接使用tar API,但是tar和bzip2是在Ant中实现的;您可以借用它们的实现,也可以使用Ant来完成所需的工作。 Gzip is part of Java SE(我猜Ant实现遵循相同的模型)。GZIPInputStream只是InputStream装饰器。例如,…

2020年11月25日 0条评论 49点热度 阅读全文

有没有一种简便的方法来递归解压缩war / ear / pack.gz / tar.gz类型的嵌套档案,因此创建了目录树-战争中的耳朵也是如此? 我不在乎它是在标准外壳还是Java中,因为之后我必须继续处理内部文件。 解决方案如下: 您可以从文档中找到rjar有用: rjar是一种命令行工具,其行为与常规jar工具类似,但是是递归的!例如,当使用.ear或.war文件,或其他“罐子” ... 也可以使用zith .zip文件! 支持的功能: 递归列出jar条目:显示所有条目,包括嵌套jar的条目(如果有 ) 以递归…

2020年10月27日 0条评论 60点热度 阅读全文

Hy ...我试图更好地解释我的问题...我通过TCP连接发送数据之前使用boost序列化文本存档...现在我需要将接收到的数据传递给Java应用程序...所以我想知道序列化流是仅由数据还是由数据+ boost序列化(标签,代码等)组成...在这种情况下,将数据传输到Java应用程序的唯一机会是在传输之前过滤它们?谢谢... 解决方案如下: 据我所知,Boost序列化文本存档使用自定义格式。 例如,它将序列化存档版本号放入输出中。因此,您将不得不使用Java过滤此类数据。 即使您使用了boost二进制归档文件,也无…

2020年2月2日 0条评论 60点热度 阅读全文

注意:这是我的问题here.的后续措施 我有一个使用目录内容并将所有内容捆绑到JAR文件中的程序。我用来执行此操作的代码在这里: try { FileOutputStream stream = new FileOutputStream(target); JarOutputStream jOS = new JarOutputStream(stream); LinkedList<File> fileList = new LinkedList<File>(); buildList(director…

2019年10月9日 0条评论 58点热度 阅读全文

我正在做一个Java Messenger,以便人们聊天,我正在寻找一种在用户计算机上记录消息档案的方法。 我有两种可能性: 将对话保存在我存储在文档文件夹中的XML文件中。要使用SQlite,但问题是我不知道如何将其集成到我的安装程序包中,也不知道它是否非常有用。 什么是最适合您的解决方案? 谢谢 解决方案如下: 另一种选择是使用JavaDb,它随Java 6(及更高版本)免费提供。 在做出选择之前,您应该考虑以下问题: 大概是您希望对用户透明(即不涉及管理员)性能是一个问题吗?如果存储模式需要迁移会怎样?您是否需…

2019年7月7日 0条评论 44点热度 阅读全文

通过使用jar: URI scheme,有可能(尽管建议不当)读取基本上已重命名为.zip文件(.ear,.war,.jar等)的存档格式。 例如,当uri变量评估为单个顶级归档文件时,例如以下代码,效果很好。当uri等于jar:file:///Users/justingarrick/Desktop/test/my_war.war!/时 private FileSystem createZipFileSystem(Path path) throws IOException { URI uri = URI.creat…

2019年4月11日 0条评论 40点热度 阅读全文

我想从我的项目中为每个文件(而不是类文件)创建一个源JAR文件。你有什么主意吗 解决方案如下: 使用任务javadocJar和sourceJar task javadocJar(type: Jar, dependsOn: javadoc) { classifier = 'javadoc' from javadoc.destinationDir } task sourcesJar(type: Jar, dependsOn: classes) { classifier = 'sources' from sourceSe…

2019年2月8日 0条评论 28点热度 阅读全文

轻量级进程 如果内核要对线程进行调度,那么线程必须像进程那样在内核中对应一个数据结构。进程在内核中有相应的进程描述符,即task_struct结构。事实上,从Linux内核的角度而言,并不存在线程这个概念。内核对线程并没有设立特别的数据结构,而是与进程一样使用task_struct结构进行描述。也就是说线程在内核中也是以一个进程而存在的,只不过它比较特殊,它和同类的进程共享某些资源,比如进程地址空间,进程的信号,打开的文件等。我们将这类特殊的进程称之为轻量级进程(Light Weight Process)。 按照这…

2013年10月24日 0条评论 0点热度 阅读全文