J2ME/Blackberry - как к текстовому файлу чтения-записи?

Это действительно зависит, в чем Вы нуждаетесь. Для однопользовательских приложений Встроенные Firebird или SQLite являются, вероятно, лучшим выбором (и цена является правильной). На другом конце, если Вы нуждаетесь в поддержке для большого количества многочисленных пользователей, необходимо, вероятно, использовать обычный Firebird вместо Встроенной версии (сервер прост установить так, у Вас не будет многого проблемами здесь).

И если бы Вам нужно что-то промежуточное для умеренного многопользовательского приложения, одна из плоских баз данных была бы лучше. Я нашел что Абсолютная База данных ComponentAce лучший выбор для моих потребностей, чем DBISAM, NexusDB или VistaDB.

Это оставляет относительно маленькое место (никакой DLLs), это - однофайловый дб (необходимость для меня), Unicode поддержек, сжатие BLOB, crypting, и технические пределы кажутся производящими впечатление для плоской базы данных. Кроме того, поддержка была хороша в немногих случаях, когда мне была нужна она.

Для недостатков, я заметил, что это не поддерживает вложенные транзакции, но кроме которого, у меня не было проблем.

14
задан Maksym Gontar 5 October 2009 в 11:19
поделиться

2 ответа

Мой фрагмент кода для строковых файлов чтения / записи:

private String readTextFile(String fName) {
  String result = null;
  FileConnection fconn = null;
  DataInputStream is = null;
  try {
   fconn = (FileConnection) Connector.open(fName, Connector.READ_WRITE);
   is = fconn.openDataInputStream();
   byte[] data = IOUtilities.streamToBytes(is);
   result = new String(data);
  } catch (IOException e) {
   System.out.println(e.getMessage());
  } finally {
   try {
    if (null != is)

     is.close();
    if (null != fconn)
     fconn.close();
   } catch (IOException e) {
    System.out.println(e.getMessage());
   }
  }
  return result;
 }

private void writeTextFile(String fName, String text) {
  DataOutputStream os = null;
  FileConnection fconn = null;
  try {
   fconn = (FileConnection) Connector.open(fName, Connector.READ_WRITE);
   if (!fconn.exists())
    fconn.create();

   os = fconn.openDataOutputStream();
   os.write(text.getBytes());
  } catch (IOException e) {
   System.out.println(e.getMessage());
  } finally {
   try {
    if (null != os)
     os.close();
    if (null != fconn)
     fconn.close();
   } catch (IOException e) {
    System.out.println(e.getMessage());
   }
  }
 }
29
ответ дан 1 December 2019 в 08:17
поделиться

Использование

интерфейса FileConnection

4
ответ дан 1 December 2019 в 08:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: