我需要根据翻译查找地图中可用的数据在我的应用程序中显示数据,该地图是从先前保存的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();
答案 0 :(得分:0)
在ant文件的第一行,尝试放入
<?xml version="1.0" encoding="utf-8" ?>
但我不知道这是否能解决你的问题。