Я хочу создать новый файл во внутренней памяти в android и сохранить некоторый текст в нем в направлении справа налево, потому что язык текста, который я хочу сохранить, - арабский c.
. Я пытался этот код для создания и записи в этот файл, но я не знаю, как установить направление RTL текста, который должен быть сохранен в файл.
public static String getExamDirectory() {
String extStorageDirectory = Environment.getExternalStorageDirectory().toString() + "/MyApp/Exam/";
File dir = new File(extStorageDirectory);
if (!dir.exists())
dir.mkdirs();
return extStorageDirectory;
}
if(Permissions.writeExternalStorageGranted())
writeStringToFileInExamDirectory(examFileName,questions);
else
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, Constants.REQUEST_WRITE_EXTERNAL_STORAGE);
private void writeStringToFileInExamDirectory(String examFileName,ArrayList<Question> questions){
try {
PrintWriter writer = new PrintWriter(getExamDirectory() + examFileName + ".txt","UTF-8");
for(Question question:questions) {
writer.println(question.getText());
writer.println();
writer.println();
for(int i = 0;i < 4;i++)
writer.println(String.valueOf(i + 1) + " - " + question.getOptions()[i].getText());
writer.println();
writer.println();
writer.println();
}
writer.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
Мое предложение
Полагаю, мне следует использовать метод PrintWriter.format(Locale locale, String format,
Object...args)
и задать для c Locale или формата значение PrintWriter
для записи текста в Направление справа налево в файле, и я потратил слишком много времени на поиск нужного языкового стандарта и формата, но я не нашел ни одного.
Спасибо за вашу помощь ...