Problema de charset de nome de arquivo em java

Ao tentar abrir um arquivo, ele afirma que não pode ser encontrado, devido a uma incompatibilidade de conjunto de caracteres, quando os nomes de arquivos têm acentos. Eu trabalho usando UTF-8 em um sistema Linux (/ etc / locales define UTF-8 também). Executando o jboss com -Dfile.encoding = UTF-8 e a variável de ambiente JBOSS_ENCODING = "UTF-8"

Com um JSP, estou recebendo o nome do arquivo:

String fileName = element.getChildText("FileName");
out.println("File to be opened : " + filename);

Exibe:

Arquivo a ser aberto: aaaaaà.txt

Mas, um novo arquivo (fileName) não funcionará. Apenas file.exists () é falso.

Tentando:

File[] files = dir.listFiles();
for (int i=0; i<files.length; i++){
      out.println(fileName);

Eu recebo: aaaaaà .txt

Por que está lendo e tentando abrir a captura de arquivo no HDD como ISO-8859-1? É uma configuração do JBoss? Uma configuração java? Como forçar o java.io.File a ler o arquivo usando o UTF-8 como o conjunto de caracteres do nome do arquivo?

Eu usei outras ferramentas e o nome sempre é lido bem, usando UTF-8.

(observe que estou sempre falando sobre o nome do arquivo, nunca o conteúdo, pode ser um arquivo nulo)

questionAnswers(2)

yourAnswerToTheQuestion