Java — запись файла с использованием randomAccessFile

Я пытаюсь создать файл .dat, который разделен на 5 столбцов, каждый с заголовком, «отметка времени», «deviceId», «testId», «Доступность» и «Задержка». Этот файл будет указывать на базу данных, в которой в данный момент выполняются тесты.

Идея состоит в том, что данные этих тестов будут собраны и сохранены в этом файле, который я только что создал.

Мне сказали использовать и работать с RandomAccessFile.

Единственная проблема в том, что я понятия не имею, как написать файл через Java. Я сделал кое-какую попытку, но это ни в коем случае не много;

public long timestamp;
public int deviceId;
public int testId;
public byte availability;
public int latency;

public static void main (String [] args) throws FileNotFoundException
{
    String fileName = "hopeToJaysusThisWorks.dat";

    RandomAccessFile file = new RandomAccessFile(fileName, "rw"); 
}

Как видите, совсем немного!

Мне сказали не беспокоиться о технической стороне дела, то есть о сборе данных. На данный момент все, что мне нужно, это макет каждого столбца и его 5 заголовков.

Может ли кто-нибудь помочь мне или дать мне несколько советов о том, куда идти отсюда, это было бы очень признательно.


person Dan    schedule 01.11.2013    source источник
comment
Может быть, начать с учебника?   -  person Boris the Spider    schedule 01.11.2013
comment
RandomAccessFile лучше всего подходит для работы с фиксированным размером и/или двоичными форматами данных. вы не делаете ни того, ни другого. похоже, вы пытаетесь написать csv или какой-либо другой простой формат плоского файла с разделителями символов. используйте простой Writer и/или найдите существующую библиотеку, которая записывает формат, который вы хотите использовать.   -  person jtahlborn    schedule 01.11.2013
comment
Данные будут в двоичном формате, поэтому мне сказали использовать RandomAccessFile.   -  person Dan    schedule 01.11.2013


Ответы (1)


Что ж, следующим шагом для вас будет убедиться, что файл, который вы только что пытались открыть для чтения/записи (вот что означает опция «rw», если вы дадите ему только r или только w, он будет только для чтения или только письменной форме соответственно), фактически открыта/доступна. Вы можете сделать это, просто запустив проверку, чтобы убедиться, что ваша переменная «файл» равна нулю. Ок, отлично! теперь вам нужно начать записывать некоторую информацию в файл. Это может принимать МНОГИЕ формы, я рекомендую проверить RandomaccessFile API чтобы точно увидеть, какие методы доступны и в какой форме должны быть данные для их записи.

Это будет выглядеть примерно так:

if (file != null){
    file.write(myByteArray[]);
}

теперь вы можете структурировать свои данные, но это общая суть.

Удачи!

person WillBD    schedule 01.11.2013