Возможно, я неверно истолковываю вашу цель, но для чего-то подобного я бы просто использовал BufferedWriter из java.io.BufferedWriter
, чтобы написать новый файл для каждого объекта. Также вы можете читать данные с помощью BufferedReader. Код будет выглядеть примерно так:
public static void save(FileIO files){
BufferedWriter out = null;
try{
//use a writer to make a file named after the object
out = new BufferedWriter(new OutputStreamWriter(
files.writeFile(objectSomething)));
//the first line would be ID
out.write(Integer.toString(objectID));
//second line would be the name
out.write(objectName)
//Theres two possible IOexceptions,
//one for using the writer
//and one for closing the writer
} catch (IOException e) {
} finally {try {
if (out != null)
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
В этом примере я использовал "objectSomething" в качестве строки имени файла, objectID и objectName - соответственно int и string, которые содержит ваш файл.
чтобы прочитать эти данные, довольно просто:
public static void load(FileIO files) {
BufferedReader in = null;
try {
// Reads file called ObjectSomething
in = new BufferedReader(new InputStreamReader(
files.readFile(ObjectSomething)));
// Loads values from the file one line at a time
varID = Integer.parseInt(in.readLine());
varName = in.readLine();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (in != null)
in.close();
} catch (IOException e) {
}
}
}
здесь я использовал varID и varName в качестве локальных переменных в этом классе, которые вы использовали бы, если бы они были нужны в вашем коде во всем приложении.