已采纳回答 / zjxjwxk
                                
                                                            我这里用你的没有一点问题诶  是不是main函数有问题你把序列、反序列封装成函数,那我的main函数是这样的:ObjectOutputStream oos = new ObjectOutputStream(                new FileOutputStream("demo/obj2.dat")        );        Bar2 bar2 = new Bar2();        oos.writeObject(bar2);        oos.flush();        ...
                            
                        
                        2018-02-24
                
            
                                最赞回答 / kk求知者
                                
                                                            因为你的编码方式是默认的编码方式utf-16be 而在写入“中” 这个汉字是 转换为字节数组是 采用的是GBK编码方式    byte[] gbk=s.getBytes("gbk");  所以在文件中 存在2个GBK编码方式的字节。而在后面的读时 用的是默认的编码方式将文件里的提取出所有的。而又2个不是这种了类型的 则会出现乱码. 个人理解
                            
                        
                        2018-02-10
                
            
                                已采纳回答 / qq_向前走呗_0
                                
                                                            java中指针的概念是隐式的,指向文件中的某个字节,当打开文件时候,指针指在文件开头,pointer=0,每一次向文件中output字节,指针都会移动,Xxx.seek(0); 是让指针回到文件头部。
                            
                        
                        2018-02-09
                
            用buffer复制一个11M的mp3,把flush放在while循环里要18或19s,flush放在while循环之后只需要400ms左右
                
            复制到最后并不是只包含被复制文件的最后一次被督导buf中的内容,每一次的写出指针都会移动,所谓的零开头,是每一次将buf中写入文件中内容的末端
                
                    
                    2018-02-08
                
            
                                最赞回答 / 噩噩噩噩噩噩噩噩Plus
                                
                                                            那是因为你没有在类中创建toString()函数public String toString() {		return id+" "+name+" "+age;	}
                            
                        
                        2018-02-05
                
             
             
        









