2016-01-22 56 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("\\|");