乱码是怎么回事

乱码是怎么回事

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import java.io.Serializable;
 
public class Product implements Serializable{
    private String ID;//产品ID
    private String name;//产品名称
    private String categories;//产品属性
    private double price;//产品价格
    public Product(String ID,String name,String categories,double price){
        this.setID(ID);
        this.setName(name);
        this.setCategories(categories);
        this.setPrice(price);
    }
    public String getID() {
        return ID;
    }
    public void setID(String iD) {
        ID = iD;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getCategories() {
        return categories;
    }
    public void setCategories(String categories) {
        this.categories = categories;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }
    public String toString(){
        return "产品ID:"+this.getID()+"/n"+"产品名称:"+this.getName()+"/n"+"产品属性:"+this.getCategories()+"/n"+"产品价格:"+this.getPrice();
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStreamWriter;
 
public class ProductTest {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Product product1=new Product("123","iphone","telephone",4888.0);
        Product product2=new Product("234","ipad","computer",5088.0);
        Product product3=new Product("345","macbook","computer",10688.0);
        Product product4=new Product("256","iwatch","watch",4799.0);
        System.out.println("apple系列产品信息:");
        try {
            FileOutputStream fos=new FileOutputStream("product.txt");
            ObjectOutputStream oos=new ObjectOutputStream(fos);
            oos.writeObject(product1);
            oos.writeObject(product2);
            oos.writeObject(product3);
            oos.writeObject(product4);
            oos.flush();
             
            FileInputStream fis=new FileInputStream("product.txt");
            ObjectInputStream ois=new ObjectInputStream(fis);
                System.out.println((Product)ois.readObject());
                fos.close();
                oos.close();
                fis.close();
                ois.close();
             
             
        catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    catch(IOException e){
            e.printStackTrace();
        }
    }
 
}

http://img1.sycdn.imooc.com//climg/5d3d44730001860109820104.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕酷酷 2019-07-28 15:08:53

同学你好,文件中乱码的问题同学不用担心哦,老师在5-1视频的9分钟左右也是乱码,这里只是因为txt文件与我们写入的编码格式不同。只要我们读的时候,读回来是原样就可以了。例如

http://img1.sycdn.imooc.com//climg/5d3d48a800010acf16110402.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


  • 提问者 qq_就是这样_1 #1
    那要怎么才能正常显示
    2019-07-28 15:09:43
  • 好帮手慕珊 回复 提问者 qq_就是这样_1 #2
    你好!对象输出流写到文件中的本身不是文本数据,是对象序列化后的数据,所以乱码显示是正常的,只要保证读取数据没问题就可以了。祝学习愉快!
    2019-07-28 16:37:42
  • 提问者 qq_就是这样_1 回复 好帮手慕珊 #3
    但我想知道要怎样才能正常显示
    2019-07-28 19:53:10
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码