2011-01-17 16 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.

그런 식으로 String을 인코딩 할 수 있다는 것은 저에게 새로운 것입니다.

관련 문제