我正在尝试阅读具有阿拉伯语文本的文件,然后我需要在文本视图中放置阅读文本..
以下是我尝试的代码:
public static String readRawFile(Context ctx, int resId) throws UnsupportedEncodingException {
InputStream inputStream = ctx.getResources().openRawResource(resId);
InputStreamReader isr = new InputStreamReader(inputStream, "UTF-8");
BufferedReader reader = new BufferedReader(isr);
String line;
StringBuilder text = new StringBuilder();
try {
while ((line = reader.readLine()) != null) {
text.append(line);
Log.e("Line Read", line);
text.append('\n');
}
} catch (IOException e) {
return null;
}
return text.toString();
}
但是我读到的文件是
��(P3�EP��qDDGP��qD1QN-�EN@pFP��qD1QN-PJEP���
我应该如何阅读文件,以便阅读的文字是阿拉伯语
答案 0 :(得分:0)
尝试只使用Bufferreader,我可以同时读取阿拉伯语和英语单词。而且你不需要UT-8编码。 我希望这会对你有所帮助:
public static void readArabic(String path) throws FileNotFoundException {
try(BufferedReader red = new BufferedReader(new FileReader(path));) {
String out;
while ((out = red.readLine()) != null){
System.out.println(out);
}
} catch (IOException e) {
e.printStackTrace();
}
}
这是主要方法:
public static void main(String[] args) throws FileNotFoundException {
String path1 = "/Users/addodennis/Desktop/Projects/HotelReservation/src/Data/testAra";
readArabic(path1);
}
这是输出: 我刚刚从维基百科页面复制了一些阿拉伯语文本。
الأبجديةالعرةal-abjadīyahal-'arabīyah或الحروفالعربية 'ī(هجائي)或alifbā'ī(ألفبائي) 更多信息(ويكيبيديا) الولوجإلىصفحاتموقعالموسوعةالحرة(ويكيبيديا),وهوواحدمنأشهرالمواقعالعالميةعلىالشبكةالدولية。
如果您仍想使用StringBuilder,那么您也可以这样做:
public static String readArabic(String path) throws FileNotFoundException {
StringBuilder add = new StringBuilder();
try(BufferedReader red = new BufferedReader(new FileReader(path));) {
String out;
while ((out = red.readLine()) != null){
//System.out.println(out);
add.append(out);
}
} catch (IOException e) {
e.printStackTrace();
}
return String.valueOf(add);
}