我需要根据"转换查找"映射中可用的数据在我的应用程序中显示数据,该数据由以前保存的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="libobcsclient.jar"/>
<zipfileset src="libcomm.jar"/>
<zipfileset src="libobcsclientfrmk.jar"/>
<zipfileset src="libcommons-net-ntp.jar"/>
<zipfileset src="liborg.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>
然后我运行应用程序罐,它以其他语言显示为???。我对蚂蚁不太熟悉。我最好的假设是,这可能是因为在蚂蚁中未指定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();
在蚂蚁文件的第一行,尝试放置
<?xml version="1.0" encoding="utf-8" ?>
,但我不知道这是否会解决您的问题。