Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

Библиотека :: Компьютеры и Программирование :: А.В. Фролов, Г.В. Фролов - Microsoft Visual J++
<<-[Весь Текст]
Страница: из 275
 <<-
 
andomAccessFile idx;

  // Файл данных
  RandomAccessFile dat;

  // Значение указателя на текущую запись
  long idxFilePointer = 0;

  // -------------------------------------------------------
  // SimpleDBMS
  // Конструктор. Создает и открывает файлы базы данных
  // -------------------------------------------------------
  public SimpleDBMS(String IndexFile, String DataFile)
  {
    try
    {
      // Создаем и открываем файл индексов
      idx = new RandomAccessFile(IndexFile, "rw");

      // Создаем и открываем файл данных
      dat = new RandomAccessFile(DataFile, "rw");
    }
    catch(Exception ioe)
    {
      System.out.println(ioe.toString());
    }
  }

  // -------------------------------------------------------
  // close
  // Метод close. Закрывает файлы базы данных
  // -------------------------------------------------------
  public void close()
  {
    try
    {
      // Закрываем файл индексов
      idx.close();

      // Закрываем файл данных
      dat.close();
    }
    catch(Exception ioe)
    {
      System.out.println(ioe.toString());
    }
  }

  // -------------------------------------------------------
  // AddRecord
  // Добавление записи в базу данных
  // -------------------------------------------------------
  public void AddRecord(String name, int account)
  {
    try
    {
      // Устанавливаем текущую позицию в файлах
      // индекса и данных на конец файла
      idx.seek(idx.length());
      dat.seek(dat.length());

      // Получаем смещение в файле данных места,
      // куда будет добавлена новая запись
      idxFilePointer = dat.getFilePointer();

      // Сохраняем это смещение в файле индексов
      idx.writeLong(idxFilePointer);

      // Сохраняем в файле дайнных два поля новой записи
      dat.writeBytes(name + "\r\n");
      dat.writeInt(account);
    }
    catch(Exception ioe)
    {
      System.out.println(ioe.toString());
    }
  }

  // -------------------------------------------------------
  // GetRecordByNumber
  // Извлечение записи по ее порядковому номеру
  // -------------------------------------------------------
  public String GetRecordByNumber(long nRec)
  {
    // Строка, в которой будет сохранена извлеченная запись
    String sRecord = "";
 
    try
    {
      // Значение поля account
      Integer account;

      // Значение поля name
      String str = null;

      // Вычисляем смещение в файле индексов по порядковому
      // номеру записи
      idx.seek(nRec * 8);

   
 
<<-[Весь Текст]
Страница: из 275
 <<-