【发布时间】: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();
【问题讨论】: