将整数和数组存储在文件中并读取它们

时间:2015-01-05 20:08:40

标签: java arrays file parsing int

我想将一些整数和数组存储到一个文件中,这样我就可以让我的程序读取并使用它们,但我不知道如何做到这一点。 我知道我可以用扫描仪读取单个整数并通过迭代将它们保存到数组中,但我希望有一个像

这样的文件
Number=5;
Array={1, 2, 3, 4, 5};

我的程序应该自动为它的变量分配数字,比如

int Number = file.get(Number);
int[] Array = file.get(Array);

有没有办法实现这个目标?

提前谢谢

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用序列化。要将您的信息存储在文件中,请使用FileOutputStreamObjectOutputStream(来自java.io包),如下所示:

File saveFile = new File("filename.sav");
try {
    FileOutputStream fileOut = new FileOutputStream(saveFile);
    try (ObjectOutputStream objOut = new ObjectOutputStream(fileOut)) {
        objOut.writeObject(number); // you should use lower case for variable names
        objOut.writeObject(array);
    }
} catch (IOException e) {
}

这会将您的信息存储在名为“filename.sav”的二进制文件中。要从该文件中获取整数和数组,请使用FileInputStreamObjectInputStream,并按照存储的顺序将检索到的对象强制转换为所需类型:

try {
    FileInputStream fileIn = new FileInputStream("filename.sav");
    try (ObjectInputStream objIn = new ObjectInputStream(fileIn)) {
        int number = (int) objIn.readObject();
        int[] array = (int[]) objIn.readObject();
    }
} catch (IOException | ClassNotFoundException e) {
}

这也适用于任何可序列化对象(实现Serializable的对象)。