在java中序列化中的一个简单程序出现编译错误

     2023-02-25     167

关键词:

【中文标题】在java中序列化中的一个简单程序出现编译错误【英文标题】:Getting a compilation error for a simple program in serialization in java 【发布时间】:2016-11-15 01:42:17 【问题描述】:

这是我的 Person 类

package com.igate.serilaization;

import java.io.Serializable;

public class Person implements Serializable 

    private String name;
    private int age;

    public String getName() 
        return name;
    
    public void setName(String name) 
        this.name = name;
    
    public int getAge() 
        return age;
    
    public void setAge(int age) 
        this.age = age;
    

    public Person(String name , int age)
        this.name=name;
        this.age= age;
    



这是我的主要课程

package com.igate.serilaization;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.ObjectOutputStream;


public class Serilalizer2 

    public static void main(String[] args) 

        Person p = new Person("Prasad", 18);

        try 
            FileInputStream fout = new FileInputStream("C:/Users/pmadge/Desktop/serial.ser");
            ObjectOutputStream o = new ObjectOutputStream(fout);
            o.writeObject(p);
            o.close();
            System.out.println("Done");


         catch (Exception e) 
            // TODO Auto-generated catch block
            e.printStackTrace();
        

    




我在 `ObjectOutputStream o = new ObjectOutputStream(fout); 上遇到编译错误;像“构造函数 ObjectOutputStream(FileInputStream) 未定义”这样的行。

【问题讨论】:

你可能打算使用FileOutputStream,而不是FileInputStream,对吧? 是的,我弄错了,感谢@sstan,它成功了! 【参考方案1】:

你应该使用FileOutputStream 而不是FileInputStream

代码

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;


public class Serializer2 

    public static void main(String[] args) 

        Person p = new Person("Prasad", 18);

        try 
            FileOutputStream fout = new FileOutputStream ("C:/Users/pmadge/Desktop/serial.ser");
            ObjectOutputStream o = new ObjectOutputStream(fout);
            o.writeObject(p);
            o.close();
            System.out.println("Done");


         catch (Exception e) 
            // TODO Auto-generated catch block
            e.printStackTrace();
        

    




希望对你有帮助。

【讨论】:

java为啥文件不加入source中编译就出现sourcenotfound

我不将文件放入buildpath中的source中,在调试的时候就会出现sourcenotfound,我发现在eclipse中会把这个文件加入到bin的目录中,并且删除bin目录中的其他文件,我现在想让文件加入到source并且在开发的时候修改文件,我所引用的路径... 查看详情

打开 MPI - mpirun 在简单程序中退出并出现错误

...】:我最近在我的计算机上安装了OpenMPI,当我尝试运行一个简单的HelloWorld程序时,它退出并出现下一个错误:------------------------------------------------------ 查看详情

java中的serialversionuid。如果在本地的两个类中声明了两个值相同的这个变量,会有啥问题吗?

...个变量和jar包里的相同又会有问题吗?简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行... 查看详情

Django Rest Framework 序列化程序中的自定义错误消息

】DjangoRestFramework序列化程序中的自定义错误消息【英文标题】:CustomerrormessagesinDjangoRestFrameworkserializer【发布时间】:2015-01-1216:05:31【问题描述】:场景非常简单:我有一个模型,其中包含一些必填字段。假设其中一个是TextField... 查看详情

java编译中的意外错误顺序

】java编译中的意外错误顺序【英文标题】:Unexpectedorderoferrorsinjavacompilation【发布时间】:2015-06-2918:07:25【问题描述】:在在线解决挑战时,我观察到java的以下行为,我觉得有点奇怪。我首先按照以下大纲编译了一个程序:import... 查看详情

java中异常的理解

...异常的超类,对应的底下有两个子类,Error和Exception,java中的异常其实总体上来说有三种类型:一、检查性异常,程序在编译的时候出现的异常,例如打开一个文件,此时程序需要抛出FileNotFoundException等相关异常,简单来说就是... 查看详情

java_异常处理

这篇我们聊聊java中的异常。首先我们要知道什么是异常?Exception:exception翻译过来就是“意外”的意思。事实上,异常的本质就是程序的错误,包括程序逻辑错误和系统错误。错误在编写程序中会时常出现,包括编译期间... 查看详情

未修改的 AppDelegate.m 中的编译错误

】未修改的AppDelegate.m中的编译错误【英文标题】:CompileErrorsinuntouchedAppDelegate.m【发布时间】:2013-01-0420:17:37【问题描述】:我一直在创建一个简单的示例应用程序来演示在IOS中播放声音文件。为此,我创建了一个带有一个视图... 查看详情

在 boost 中序列化二进制数据失败并出现“无效签名”错误

】在boost中序列化二进制数据失败并出现“无效签名”错误【英文标题】:Serializingbinarydatainboostfailswith`invalidsignature\'error【发布时间】:2013-05-1806:15:02【问题描述】:我很难找出使用boost序列化/asio通过网络发送对象的正确方法... 查看详情

java异常处理

Java异常处理异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error;如果你用System.out.println(11/0),那么你是因为... 查看详情

在 CLion 中编译简单程序时出错

...器设置,或者类似的东西,但我没有想法,所以如果你们中的任何人有解决方案,我会很高兴。我已经安装了gcc、gdb和cmake,所以我认为没 查看详情

无法使用 gcc 在 Linux 中编译任何 c++ 程序,出现一些奇怪的错误 [重复]

...发布时间】:2021-08-2901:33:14【问题描述】:最近我运行了一个代码来改变终端输出的颜色。运行该c++程序后,现在如果我在Linux中运行任何c++程序,我会遇到一些奇怪的错误。我 查看详情

GWT 中的 PropertyChangeSupport

】GWT中的PropertyChangeSupport【英文标题】:PropertyChangeSupportinGWT【发布时间】:2011-02-0910:56:43【问题描述】:在我的gwt应用程序中,有人开发了一个使用java.beans.PropertyChangeSupport的模块。最近我开始使用该模块并在运行时收到无法... 查看详情

在一个简单的 maven hibernate 项目中出现错误“java.lang.NoClassDefFoundError: org/hibernate/cfg/Mappings”

】在一个简单的mavenhibernate项目中出现错误“java.lang.NoClassDefFoundError:org/hibernate/cfg/Mappings”【英文标题】:gettingerror"java.lang.NoClassDefFoundError:org/hibernate/cfg/Mappings"inasimplemavenhibernateproject【发布时间】:2016-06- 查看详情

IIS 中的简单 asp.net 预编译问题

】IIS中的简单asp.net预编译问题【英文标题】:Simpleasp.netprecompilationissueinIIS【发布时间】:2010-07-1611:56:30【问题描述】:看起来我对一个简单的问题感到震惊。我正在托管一个预编译的网站。它可以在我的本地盒子中编译并正常... 查看详情

为啥我在 C++ 阶乘函数中出现编译错误?

...:45【问题描述】:我正在尝试使用三元运算符在C++中编写一个简单的阶乘函数。它给出了一个编译错误。intfactorial(intn)(n==0)?return1:returnn*factor 查看详情

编译简单 boot_mpi 分散程序时出错:没有序列化元素

】编译简单boot_mpi分散程序时出错:没有序列化元素【英文标题】:Errorduringcompilingofsimpleboot_mpiscatterprogram:noserializeelement【发布时间】:2021-01-0914:19:45【问题描述】:我目前正在评估一个简单的程序,该程序允许将行/字符串的数... 查看详情

java中的编译时与运行时

----?基础知识  --编译时   编译器将源代码翻译成机器能够读懂的代码,如java中就是翻译成jvm能够读懂的字节码文件。简单说,编译时就是机器帮我们检查代码是否有出现语法错误,关键字写错之类的,是为... 查看详情