2011-01-17 23 views
1

このファイル名は中国語ですファイル名を読み取ってコンソールに表示する必要があります。このためにはif(fileName.startsWith("=?iso-8859-1")) を使用していますが、if文の内部には入っていません。ファイル名を読み取ることができません

public static void main(String[] args) 
    { 
     try 
     { 
      clsEmail objEmail = new clsEmail(); 
      File f = new File("P://1008/Work In Progress/Vijay Bheemanaik/pdf/Cisco-S11- POA1800005815-Inv04736851-100919重做没有.pdf"); 
      String fileName = f.getName(); 
      if (fileName != null) 
       { 
       if(fileName.startsWith("=?iso-8859-1")) 
       { 

         System.out.println("File name 2= "+fileName); 

       } 

       } 
     } 
     catch(Exception e) 
     { 
      e.printStackTrace(); 
     } 
    } 
} 
+0

"if(fileName.startsWith(" =?iso-8859-1 "))"の前にファイル名を表示して、あなたの状態のように始まるかどうかを確認します。 – fmucar

+2

ファイル名が "=?iso-8859-1"で始まるのはなぜですか?すでに絶対パスを持つFileオブジェクトを作成しています。 – PeterMmm

+0

これとは逆のことができます:名前がASCIIでエンコードできるかどうかを確認するには、次のようにします: 'Charset.forName(" US-ASCII ")。newEncoder()。canEncode(fileName)'。 –

答えて

1
File f = new File("P://1008/Work In Progress/Vijay Bheemanaik/pdf/Cisco-S11- POA1800005815-Inv04736851-100919重做没有.pdf"); 
String fileName = f.getName(); 
if(fileName.startsWith("=?iso-8859-1")) 

あなたのファイル名は... Cisco-S11で始まり...そしてない=?iso

このような文字列にエンコードを渡すことができるのは私には新しかったです。

関連する問題