栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何从清单文件读取元数据

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何从清单文件读取元数据

所以我终于弄清楚了,以为我愿意和别人分享我的头,以防其他人像我那样把头撞在那堵砖墙上。我再也无法让

Package
类中的方法返回除以外的任何值
null
。请参阅下面的修订代码,以了解如何实现这一目标。

package com.example.package1;import java.util.*;import java.util.jar.*;import java.net.*;class myClass {  public static void main(String[] args) {    try {    new myClass();    } catch (Exception e) {    System.out.println(e.getMessage());    } finally {    System.out.println("Done");    try{Thread.sleep(40000);}catch(Exception ee){}    }  }public myClass() throws Exception {  String clz = getClass().getSimpleName() + ".class";  String pth = getClass().getResource(clz).toString();  String mnf = pth.substring(0, pth.lastIndexOf("!") + 1) + "/meta-INF/MANIFEST.MF";  String pkg = getClass().getPackage().getName().replaceAll("\.","/");  URL url = new URL(mnf);  Manifest manifest = new Manifest(url.openStream());  Attributes attr = manifest.getAttributes(pkg);  String value = attr.getValue("Specification-Title") + " - " +   attr.getValue("Implementation-Title") + " " +   attr.getValue("Specification-Version") + " build # " +   attr.getValue("Implementation-Version");  System.out.println(value);  }}

输出:

MyPackage - MP v1.1 build # 2015-11-05-CDone

提取四段元数据的代码很多。

因此,如果您希望少写几行,这就是我使用的:

public myClass() throws Exception {  Attributes attr = new Manifest(new URL(getClass().getResource(getClass().getSimpleName() + ".class").toString().substring(0, getClass().getResource(getClass().getSimpleName() + ".class").toString().lastIndexOf("!") + 1) + "/meta-INF/MANIFEST.MF").openStream()).getAttributes(getClass().getPackage().getName().replaceAll("\.","/"));  String value = attr.getValue("Specification-Title") + " - " + attr.getValue("Implementation-Title") + " " + attr.getValue("Specification-Version") + " build # " + attr.getValue("Implementation-Version");  System.out.println(value);}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/574287.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号