2
JFileChooserを使用していて、ファイル名に漢字が含まれています。 JFileChooserはそれらを適切に表示し、これらのファイル名をキャプチャしてユーザに表示する必要があります。Java:国際化ファイル名を取得するJFileChooser
私が持っているファイル名:03玩愛之徒.MP3
しかし、私は表示されてしまう:。私を得る私のコードでは03 ???? mp3
を...
File f1 = fileChooser.getSelectedFile();
log("f1="+ f1.getName()); // gets me 03 ????.mp3
byte[] fname1 = f1.getName().getBytes(); // gets me [[email protected]
byte[] fname2 = f1.getName().getBytes("UTF-16"); // gets me [[email protected]
私は近くにいると知っていますが、少し助けが必要です。
ログ部分を無視する - ファイル名のみをユニコード形式で保存し、これをユーザーに表示しようとしています。私はそれをテーブル形式DefaultTableModelに格納しています。 BufferedWriterはファイルのようですが、私はこの解決策を探し続けます... – rtfminc
DefaultTableModelはJTableで使用されています.JTableはJREで使用可能なフォントを使用します。ユニコード文字列をレンダリングするときは中国語フォントを表示できるフォントでJLabelにファイル名を表示して、JFileChooserを使用してファイルを読むことの問題でないことを確認してください。 –
あなたは正しいです。アジア文字を含むファイル名は、ラベルに正しく表示されます。私はCalibri(Windowsフォント)を使ってテーブルを持っていました。私はユニコードフォントをテーブルに追加しました( "Dialog") - "analysisTable.setFont(uniFont);"それは魅力のように機能します。これを追跡する方向性をありがとう。 – rtfminc