我在我的eclipse上有一個項目,它的一個方法是從文件夾讀取文件列表。 當我從日食或從導出的jar中運行它時,它的優良性能很好。Netbeans無法讀取mac中的utf8文件名稱
但我有我的NetBeans的這個應用程序的圖形用戶界面的另一個項目,其中包括導出的jar(很好的工作),但是當我運行或從netbeans導出這個項目,它只是不能讀取非英文文件名,轉換的文件名是這樣的
???????? ???? ??? .mp3
我嘗試添加-J-Dfile.encoding=UTF-8
到netbeans.conf
,我也試圖選擇在NetBeans項目屬性,但沒有運氣的編碼。
這裏是一些代碼:
public SFile(String path, FileFilter filter) {
File f = null;
f = new File(path);
directory = f.isDirectory();
if (directory) {
children = new ArrayList<SFile>();
File[] ki = f.listFiles(filter); // here i see the ???? ????.mp3
ArrayList<File> kids = new ArrayList<File>();
Collections.addAll(kids, ki);
Collections.sort(kids, comparator);
for (File k : kids) {
if (k.isDirectory() && k.listFiles(filter).length == 0) {
continue;
}
children.add(new SFile(k.getAbsolutePath(), filter));
}
} else {
// some more code...
}
}
濾波代碼:
new FileFilter() {
public boolean accept(final File pathname) {
try {
return pathname.getCanonicalPath().endsWith(".mp3") || pathname.isDirectory();
} catch (final IOException e) {
e.printStackTrace();
}
return false;
}
};
我的項目的依賴關係:
/Users/dima/Dev/RSLib/asm-3.1.jar
/Users/dima/Dev/RSLib/grizzly-framework-2.2.16.jar
/Users/dima/Dev/RSLib/grizzly-http-2.2.16.jar
/Users/dima/Dev/RSLib/grizzly-http-server-2.2.16.jar
/Users/dima/Dev/RSLib/grizzly-rcm-2.2.16.jar
/Users/dima/Dev/RSLib/gson-2.2.2.jar
/Users/dima/Dev/RSLib/javax.servlet-api-3.1-b05.jar
/Users/dima/Dev/RSLib/jersey-bundle-1.16.jar
/Users/dima/Dev/RSLib/jersey-core-1.16.jar
/Users/dima/Dev/RSLib/jersey-grizzly2-1.16.jar
/Users/dima/Dev/RSLib/jersey-server-1.16.jar
/Users/dima/Dev/RSLib/jsr311-api-1.1.1.jar
/Users/dima/Dev/RSLib/log4j-1.2.17.jar
/Users/dima/Dev/RSLib/jid3lib-0.5.4.jar
/Users/dima/Dev/RSLib/cling-distribution-2.0-alpha2/cling-mediarenderer-2.0-alpha2-standalone.jar
/Users/dima/Dev/RSLib/cling-distribution-2.0-alpha2/cling-workbench-2.0-alpha2-standalone.jar
/Users/dima/Dev/RSLib/cling-distribution-2.0-alpha2/core/seamless-http-1.0-alpha2.jar
/Users/dima/Dev/RSLib/cling-distribution-2.0-alpha2/core/seamless-util-1.0-alpha2.jar
/Users/dima/Dev/RSLib/cling-distribution-2.0-alpha2/core/seamless-xml-1.0-alpha2.jar
/Users/dima/Dev/RSLib/cling-distribution-2.0-alpha2/support/cling-support-2.0-alpha2.jar
/Users/dima/Dev/RSLib/cling-distribution-2.0-alpha2/core/cling-core-2.0-alpha2.jar
/Users/dima/Dev/RSLib/MpegAudioSPI1.9.5/mp3spi1.9.5.jar
/Users/dima/Dev/RSLib/MpegAudioSPI1.9.5/lib/jl1.0.1.jar
/Users/dima/Dev/RSLib/MpegAudioSPI1.9.5/lib/tritonus_share.jar
你正在閱讀文件名列表,然後在GUI中顯示它們嗎?如果是這樣,讓我們看看顯示代碼。 – Perception 2013-05-03 20:47:21
不,我沒有顯示它們,即時索引所有的文件hashmap與遞增ID,當我停止調試,我看到非英文文件名爲???????。mp3和Java不能讀取它們 – Dima 2013-05-03 21:25:09
「我看到非英文文件名爲???????。mp3「你在哪看到它們?在IDE的某個地方?在手錶上?在輸出窗格中? – Danack 2013-05-04 02:11:08