将整数和数组存储在文件中并读取它们
Storing integers and arrays in a file and reading them
我想将一些整数和数组存储到一个文件中,这样我就可以让我的程序读取和使用它们,但我不知道该怎么做。
我知道我可以用扫描仪读取单个整数并通过迭代将它们保存到数组中,但我想要一个像
这样的文件
Number=5;
Array={1, 2, 3, 4, 5};
而且我的程序应该自动将数字分配给它的变量,比如
int Number = file.get(Number);
int[] Array = file.get(Array);
有什么方法可以做到这一点吗?
提前致谢
最简单的方法是使用序列化。要将您的信息存储在文件中,请使用 FileOutputStream
和 ObjectOutputStream
(来自 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" 的二进制文件中。要从该文件中获取整数和数组,请使用 FileInputStream
和 ObjectInputStream
并将检索到的对象按照存储顺序转换为所需的类型:
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
的对象)。
我想将一些整数和数组存储到一个文件中,这样我就可以让我的程序读取和使用它们,但我不知道该怎么做。 我知道我可以用扫描仪读取单个整数并通过迭代将它们保存到数组中,但我想要一个像
这样的文件Number=5;
Array={1, 2, 3, 4, 5};
而且我的程序应该自动将数字分配给它的变量,比如
int Number = file.get(Number);
int[] Array = file.get(Array);
有什么方法可以做到这一点吗?
提前致谢
最简单的方法是使用序列化。要将您的信息存储在文件中,请使用 FileOutputStream
和 ObjectOutputStream
(来自 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" 的二进制文件中。要从该文件中获取整数和数组,请使用 FileInputStream
和 ObjectInputStream
并将检索到的对象按照存储顺序转换为所需的类型:
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
的对象)。