gpt4 book ai didi

java - 编写一个读取二进制文件的方法

转载 作者:行者123 更新时间:2023-12-01 17:37:46 26 4
gpt4 key购买 nike

我想编写一个从二进制文件读取对象的方法,但我想使用泛型来概括它。

我有这个代码:

@SuppressWarnings ("unchecked")
public static <T> T readFromBinaryFile (String filename){
T obj = null;

if (FileUtils.existsFile (filename)){
ObjectInputStream ois = null;
try{
ois = new ObjectInputStream (new FileInputStream (filename));
obj = (T)ois.readObject ();
}catch (IOException e){
Debug.out (e);
}catch (ClassNotFoundException e){
Debug.out (e);
}finally{
try{
if (ois != null) ois.close();
}catch (IOException e){
Debug.out (e);
}
}
}

return obj;

}

当我执行它时,我得到一个 ClassCastException。我对java中的模板一无所知,所以任何信息都会受到赞赏。我读过一些与删除、编译时和执行时相关的内容,但我不太明白为什么会出现这个 ClassCastException。

谢谢。

编辑:我这样调用该方法:FileUtils.readFromBinaryFile(文件名);(不带“”)

最佳答案

Java中有模板吗?只需使用 Object 而不是 T。在 Java 中,一切都从基础上派生自 Object,因此您不需要 T obj,而是 Object obj。

关于java - 编写一个读取二进制文件的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4631023/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com