File 如何从文件中保存和检索哈希表?
我创建了一个程序,可以计算一些东西并将信息存储到哈希表中。我希望它下次运行时恢复存储在哈希表中的以前的值并恢复。所以我问如何将对象保存到文件中 在我的代码中,我使用FileInputStream和FileOutputStream。到目前为止,这里是我的代码的一小部分:File 如何从文件中保存和检索哈希表?,file,input,save,hashtable,File,Input,Save,Hashtable,我创建了一个程序,可以计算一些东西并将信息存储到哈希表中。我希望它下次运行时恢复存储在哈希表中的以前的值并恢复。所以我问如何将对象保存到文件中 在我的代码中,我使用FileInputStream和FileOutputStream。到目前为止,这里是我的代码的一小部分: @SuppressWarnings("unchecked") private void obtainSaveFile(){ String file = new String("./saveFile.txt"); t
@SuppressWarnings("unchecked")
private void obtainSaveFile(){
String file = new String("./saveFile.txt");
try{
//Create the file if it doesn't exist
if( !( (new File(file)).exists() ) ){
//Create new empty file
(new File(file)).createNewFile();
//Creates a fresh new hashTable
hashTable = new QuadraticProbingHashTable<TicTacToeBoard>();
}
else{
//Obtain the hashTables saved config.txt file
FileInputStream fis = new FileInputStream(file);
ObjectInputStream ois = new ObjectInputStream(fis);
//Obtain the previously saved hashTable
//-----------------------------------
//This line of code gives me an error
//-----------------------------------
hashTable = (QuadraticProbingHashTable<TicTacToeBoard>)ois.readObject();
ois.close();
}
//Create save file configs.txt
FileOutputStream fos = new FileOutputStream(file);
saveFile = new ObjectOutputStream(fos);
}catch(Exception e){
e.printStackTrace();
//Creates a fresh new hashTable
//This line of code gives me an error
hashTable = new QuadraticProbingHashTable<TicTacToeBoard>();
}
}
好吧,问题似乎是,您正在尝试序列化一些没有实现可序列化的东西。 你可以在这里看到:
java.io.NotSerializableException: proj4.QuadraticProbingHashTable$HashEntry
你有两个选择:
有关更多详细信息,您可以发布该类。问题似乎是,您正在尝试序列化一些未实现可序列化的内容。 你可以在这里看到:
java.io.NotSerializableException: proj4.QuadraticProbingHashTable$HashEntry
你有两个选择:
有关更多详细信息,您可以发布该类。问题是,即使您的表可以序列化,但您已经向哈希表添加了一个不可序列化的键或值。所有对象都可以放入哈希表,但并非所有对象都可以序列化。您要将什么类型的对象放入哈希表?问题是,即使您的表可以序列化,您也向哈希表添加了一个不可序列化的键或值。所有对象都可以放入哈希表,但并非所有对象都可以序列化。您正在将什么类型的对象放入哈希表?我正在将我创建的类放入哈希表的TictoeBoard对象放入哈希表。它仍然给了我同样的错误。你能发布TictoeBoard的代码吗?这将有助于我们确定为什么你说的没有成功。我忘了修复一些调整。我正在将我创建的类放入哈希表中的TictoeBoard对象。它仍然给了我同样的错误。你能发布TictoeBoard的代码吗?这将有助于我们确定为什么你说的没有成功。有几个地方我忘了修正。