Создание текстовых ресурсов для приложения MIDP и загрузка их во время выполнения. Этот метод безопасен в юникоде, поэтому подходит для всех языков. Код времени выполнения является небольшим, быстрым и использует относительно мало памяти.
Создание исходного текста
اَللّٰهُمَّ اِنِّىْ اَسْئَلُكَ رِزْقًاوَّاسِعًاطَيِّبًامِنْ رِزْقِكَ
مَرْحَبًا
Процесс начинается с создания текстового файла. Когда файл загружается, каждая строка становится отдельным объектом String, поэтому вы можете создать такой файл:
Это должно быть в формате UTF-8. В Windows вы можете создавать файлы UTF-8 в «Блокноте». Убедитесь, что вы используете «Сохранить как ...» и выберите кодировку UTF-8.
Сделать имя arb.utf8
Это необходимо преобразовать в формат, который может быть легко прочитан приложением MIDP. MIDP не предоставляет удобные способы чтения текстовых файлов, таких как BufferedReader от J2SE. Поддержка Unicode также может быть проблемой при преобразовании байтов и символов. Самый простой способ прочитать текст - использовать DataInput.readUTF(). Но для этого нам нужно написать текст, используя DataOutput.writeUTF().
Ниже приведена простая программа командной строки J2SE, которая будет считывать файл .uft8, который вы сохранили из блокнота, и создать файл .res для перехода в JAR.
import java.io.*;
import java.util.*;
public class TextConverter {
public static void main(String[] args) {
if (args.length == 1) {
String language = args[0];
List<String> text = new Vector<String>();
try {
// read text from Notepad UTF-8 file
InputStream in = new FileInputStream(language + ".utf8");
try {
BufferedReader bufin = new BufferedReader(new InputStreamReader(in, "UTF-8"));
String s;
while ((s = bufin.readLine()) != null) {
// remove formatting character added by Notepad
s = s.replaceAll("\ufffe", "");
text.add(s);
}
} finally {
in.close();
}
// write it for easy reading in J2ME
OutputStream out = new FileOutputStream(language + ".res");
DataOutputStream dout = new DataOutputStream(out);
try {
// first item is the number of strings
dout.writeShort(text.size());
// then the string themselves
for (String s: text) {
dout.writeUTF(s);
}
} finally {
dout.close();
}
} catch (Exception e) {
System.err.println("TextConverter: " + e);
}
} else {
System.err.println("syntax: TextConverter <language-code>");
}
}
}
Для преобразования arb.utf8 в arb.res, запустить преобразователь, как:
java TextConverter arb
Использование текста во время выполнения
Поместите файл .res в JAR.
В приложении MIDP, текст может быть прочитан с помощью этого метода:
public String[] loadText(String resName) throws IOException {
String[] text;
InputStream in = getClass().getResourceAsStream(resName);
try {
DataInputStream din = new DataInputStream(in);
int size = din.readShort();
text = new String[size];
for (int i = 0; i < size; i++) {
text[i] = din.readUTF();
}
} finally {
in.close();
}
return text;
}
нагрузки и использовать подобный текст:
String[] text = loadText("arb.res");
System.out.println("my arabic word from arb.res file ::"+text[0]+" second from arb.res file ::"+text[1]);
Надеется, что это поможет. Спасибо
У меня есть магазин арабских строк в базе данных. для этого я думаю, что мне не нужны потоки, или сначала я пишу, что qurey приводит к файлу, а затем делает это work.is это правильно – user1239521
@ user1239521 Если этот ответ помог вам, и вы получили эту идею, тогда отметьте вопрос знаком тика рядом с ответом , – AbdulAziz
@ Sajid Shaikh the replaceall fuction и список находятся в j2ME. – user1239521