2016-01-22 50 views
0

文件混合拉美和阿拉伯字符串需要解析這個文件(混合拉丁&阿拉伯語):無法分割針對Android

1 |حيم
2 |المين

將文件保存爲UTF8在記事本++中,並放在android資源文件夾中。
預期結果:對於line1,條目爲「1」和「حيم」(由「|」分割)。

 AssetManager manager = context.getAssets(); 
     InputStream inStream = null; 
     inStream = manager.open("file.txt"); 
     BufferedReader buffer = new BufferedReader(new InputStreamReader(inStream, "UTF-8")); 
     String line = ""; 
     while ((line = buffer.readLine()) != null) { 
      String lineEnc = URLEncoder.encode(line, "UTF-8"); 
      String[] columns = lineEnc.split("%7C"); 
      if (columns.length>=3) { 
       Toast toast = Toast.makeText(context, "Line: " + columns[0] + " and " + columns[1], Toast.LENGTH_LONG); 
       toast.show(); 
      } 
     } 

實際結果:
列[0] = 「1」 確定,但
列[1] = 「%D8%AD%D9 ...」 不好,預期 「حيم」。
如何解決這個問題,還是有更好的方法?請幫忙。提前致謝。

回答

0

解決,改變:

while ((line = buffer.readLine()) != null) { 
     String lineEnc = URLEncoder.encode(line, "UTF-8"); 
     String[] columns = lineEnc.split("%7C"); 

while ((line = buffer.readLine()) != null) { 
     String[] columns = line.split("\\|");