表示される文字列を構築するためにUTF-8エンコードされた.txtファイルを読み込むJavaプロジェクトがあります。 Eclipseで実行すると、ファイルは読み込まれ、期待どおりに表示されますが、私の蟻のビルド後には文字が出てこないようになっています。ここでJavaアプリケーションはUTF-8でエンコードされたテキストファイルを読み取りますが、antビルド後に文字が予期しないものになります
は私のbuild.xmlファイルは、私が
<compilerarg line="-encoding utf-8"/>
を使用してUTF-8文字エンコーディングを使用してコンパイルしようとしたが、明らかに、これは十分ではありません
<?xml version="1.0"?>
<project name="Rutherford" default="jar">
<property name="libsSrc" value="libs"/>
<property name="build" value="build"/>
<property name="classes" value="build/classes"/>
<property name="jar" value="build/jar"/>
<property name="libs" value="build/libs"/>
<path id="classpath">
<fileset dir="${libsSrc}" includes="*.jar"/>
</path>
<pathconvert property="mf.classpath" pathsep=" ">
<path refid="classpath"/>
<mapper>
<chainedmapper>
<flattenmapper/>
<globmapper from="*.jar" to="lib/*.jar"/>
</chainedmapper>
</mapper>
</pathconvert>
<target name="clean" description="remove intermediate files">
<delete dir="build"/>
</target>
<target name="compile" description="compile the Java source code to class files">
<mkdir dir="${classes}"/>
<javac srcdir="." destdir="${classes}" classpathref="classpath">
<compilerarg line="-encoding utf-8"/>
</javac>
</target>
<target name="jar" depends="compile" description="create a Jar file for the application">
<mkdir dir="${jar}"/>
<jar destfile="${jar}/App.jar">
<zipgroupfileset dir="${libsSrc}" includes="*.jar"/>
<fileset dir="${classes}" includes="**/*.class"/>
<manifest>
<attribute name="Main-Class" value="nat.rutherford.DesktopStarter"/>
<attribute name="Class-Path" value="${mf.classpath}"/>
</manifest>
</jar>
</target>
</project>
ですが、私はに変更する何が必要なのかこれを動作させるには?
おかげ
編集1
私はとして.txtファイルをお読みください。文字列変数に文字列を返す
public String fileToString(String file) {
InputStream in = new BufferedInputStream(Gdx.files.internal(file).read());
return new Scanner(in).useDelimiter("\\A").next();
}
は、その後、私は単純に、この文字列を取り、コンパイルとEclipse内で実行されているとき、それはうまく動作object
にそれを渡します。
編集2
これは修正シンプル
public String fileToString(String file) {
InputStream in = new BufferedInputStream(Gdx.files.internal(file).read());
return new Scanner(in, "UTF-8").useDelimiter("\\A").next();
}
あなたが見えるかわからです!笑ありがとう!
ここでは、ここでは、コンパイルされたクラスを含むフォルダにantによってコピーされるべきリソースファイルについて言及していると思いますか? –
@owlsteadはい、それらはリソースファイルであり、コンパイルされたクラスを含むフォルダには現在コピーされていません。私は現在、JARとともに手動でそれらをスティックしています。私はAntにはあまりよくない。それをコピーすればうまくいくと思いますか?私はこれが事実かもしれないという疑いがあったが、私はそれを達成する方法がわからなかった。 – Neilos