Логин:   Пароль:






Новости
Рассылки
Форум
Поиск


Java
- Апплеты
- Вопрос-ответ
- Классы
- Примеры
- Руководства
- Статьи
- IDE
- Словарь терминов
- Скачать

Мобильная Java
- Игры
- Примеры
- Статьи
- WAP, WML и пр.

JavaScript
- Вопрос-ответ
- Примеры
- Статьи

Веб-мастеринг
- HTML
- CSS
- SSI

Разминка для ума
Проекты
Книги
Ссылки
Программы
Юмор :)




Rambler's Top100
Rambler's Top100

Мобильна Java: СтатьиЭмуляция Property в J2ME

Эмуляция Property в J2ME

Тому, кто работал с Property в нормальной Джаве и вероятно пытался делать тоже самое в J2ME, скорее всего понятна проблема: Нужных Объектов в J2ME просто нет, а решение предложеное на sun сервере в откомпилированом состоянии весит чуть ли не 4 кила (иногда это 10% от всего ресурса памяти который вообще доступен). Задача простого чтения переменной из файла в этом случае вообще не стоит свеч. Если же в вашем текстовом файле 5-6 языков по килу каждый, вообще становится хреново.

Я делаю один файл, где загоняю текст в бинарном виде в виде Unicode, так же в Unicode и читаю по определенным позициях. Просто как две копейки. Опробовано на 18 языках (японский, корейский, мандарин и т.д - в том числе).

Чтение из файла




/*
 * PropLoader.java
 *
 * Created on July 10, 2002, 9:07 AM
 * Простой пример как прочитать текст в Unicode из файла
 */

/**
 * Simple Property file.
 *
 * 
 *      $Log: PropLoader.java,v $
 *      Revision 1.1  2002/07/30 13:20:22  Alexei Prosvirin
 *      added to CVS
 *
 *
 * 
* * @author Alexei Prosvirin * * @version $Id: PropLoader.java,v 1.1 2002/07/30 13:20:22 alexei Exp $ */
import java.io.*; public class PropLoader { static int NumTexts = 0; static StringBuffer[] strings = new StringBuffer [NumTexts]; public PropLoader(int int_n) { //int_n - колличество эллементов, доступных в текстовом файле NumTexts = int_n; try { InputStream is; DataInputStream file; is = getClass().getResourceAsStream ("/text.dat"); file = new DataInputStream (is); for (int i = 0; i < NumTexts; ++i) strings[i] = new StringBuffer(file.readUTF()); is.close (); } catch (Exception e) { e.printStackTrace(); } } public static String getS(int int_n){ return String.valueOf(strings[int_n]); } }

Запись в файл



/*
 * Saver.java
 *
 * Created on September 30, 2002, 11:10 AM
 */


/**
 *
 * @author  Alexei Prosvirin
 * @version
 */

import java.io.*;

public class Saver extends Object {

    /** Creates new Saver */
    public Saver() {
    }

    /**
     * @param args the command line arguments
     */
    public static void main (String args[]) {
        saveText("alexei");
    }

    public static void saveText(String str_text){

        String str_f = "Continue";
        try{
            DataOutputStream dos = 
             new DataOutputStream(new FileOutputStream("/text.dat"));
            dos.writeUTF("Score");
            dos.writeUTF("Exit");
            dos.writeUTF("Back");
            dos.writeUTF("Play");
            dos.writeUTF("Help");
            dos.close();

        }
        catch(Exception e){
            System.out.println(e);
        }
    }
}


Автор Alexei Prosvirin

Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 11

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/books/show2b.php on line 30
Узнай о чем ты на самом деле сейчас думаешь тут.


[an error occurred while processing this directive]



Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 91

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/news/worldnews.php on line 95