2011-01-17 7 views
1

Ce nom de fichier est en caractères chinois J'ai juste besoin de lire le nom du fichier et de l'afficher dans ma console, pour cela j'utilise if(fileName.startsWith("=?iso-8859-1")) mais il ne rentre pas dans l'instruction if.Impossible de lire le nom de fichier

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

imprimez le nom de fichier avant "if (nomFichier.startsWith (" =? Iso-8859-1 "))" pour voir s'il commence comme état de vôtre? – fmucar

+2

Pourquoi pensez-vous que le nom du fichier commence par "=? Iso-8859-1"? Vous avez déjà créé un objet File avec un chemin absolu. – PeterMmm

+0

Vous pouvez faire le contraire: vérifiez si le nom peut être encodé en ASCII en utilisant ceci: 'Charset.forName (" US-ASCII "). NewEncoder(). CanEncode (fileName)'. –

Répondre

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")) 

Votre nom commence par Cisco-S11 ... et non =?iso ....

Etre capable de passer l'encodage à une chaîne comme ça serait nouveau pour moi.

Questions connexes