【问题标题】:Language data coming as ??? after build in java application语言数据以 ???在构建java应用程序之后
【发布时间】:2016-06-22 09:30:31
【问题描述】:

我需要根据之前保存的 JSON 文件填充的翻译查找图中的可用数据在我的应用程序中显示数据。当我在 Eclipse 中运行我的应用程序时,它正在读取文件并以我想要的不同语言显示数据;项目的文本文件编码为“UTF-8”。但是在我使用下面给出的 build.xml 构建我的应用程序之后。

<project name="DRIS" default="create_jar">
<path id="project.class.path">
    <pathelement location="lib/"/>
    <pathelement path="${java.class.path}/"/>
  </path>
<target name="create_jar">
    <tstamp>
          <format property="DSTAMP" pattern="yyyy/MM/dd hh:mm aa"/>
      </tstamp>
    <jar destfile="LDC_MCM.jar">
        <zipfileset dir="bin" prefix=""/>               
        <zipfileset src="lib\obcsclient.jar"/>
        <zipfileset src="lib\comm.jar"/>
        <zipfileset src="lib\obcsclientfrmk.jar"/>
        <zipfileset src="lib\commons-net-ntp.jar"/>
        <zipfileset src="lib\org.json.jar"/>
        <manifest>
            <attribute name="Java-Version" value="${java.version} "/>
            <attribute name="Main-Class" value="com.ars.ldcmcm.Launcher"/>
            <attribute name="Class-Path" value="comm.jar jmf.jar mediaplayer.jar obcsclient.jar obcsclientfrmk.jar sound.jar commons-net-ntp.jar"/>
            <attribute name="Application-Name" value="LDC_MCM"/>
            <attribute name="Application-Version" value="1.85.106.120"/>
            <attribute name="Application-Vendor" value="ARS Software Engineering Pvt. Ltd"/>
            <attribute name="Application-built-on" value="${DSTAMP}" /> 
            <attribute name="Application-built-by" value="${user.name}"/>
        </manifest>
    </jar>
</target>

然后我运行我的应用程序 jar,它将其他语言的数据显示为???。我对蚂蚁不是很熟悉。我最好的假设是,这可能是因为 ANT 中未指定 UTF-8 编码,如果是这样,有人可以建议我应该在上面的 xml 文件中指定我的编码的位置。如果我的假设是错误的,有人可以帮助我解决这个问题。

这是我用来从 json 文件中读取数据的一段代码

BufferedReader in = new BufferedReader(
                   new InputStreamReader(
                              new FileInputStream(config.getStringValue("TRANSLOOKUP_FOLDER")
                                    + "\\"
                                    + config.getStringValue("TRANSLOOKUP_FILENAME")), "UTF8"));
        String str = "";
        in.mark(1);
        if(in.read() != '\uFEFF') {
            in.reset();
        }
        while ((str = in.readLine()) != null) {
            jsonStr.append(str);
        }
        in.close();

【问题讨论】:

    标签: java eclipse ant


    【解决方案1】:

    在ant文件的第一行,试着放

    &lt;?xml version="1.0" encoding="utf-8" ?&gt;

    但我不知道这是否能解决您的问题。

    【讨论】:

    • 抱歉这不能解决我的问题,我不确定构建时的文件编码是否是问题
    • 您的应用程序是否在 Eclipse 之外找到了 json 文件?
    猜你喜欢
    • 2013-02-21
    • 2014-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 2015-05-31
    • 1970-01-01
    相关资源
    最近更新 更多