Java小记(第二周)

在本周利用课下时间学习了io流以及mysql的通用语法和JDBC、mybatis,并且将上周的没有加上io流的图书管理系统,用io流进行了输入输出

以下是我整理的io流的部分我认为比较重要的知识点

输入流:InputStream
read(byte[] b)
从输入流读取一些字节数,并将它们存储到缓冲区 b 。
read(byte[] b, int off, int len)
从输入流读取最多 len字节的数据到一个字节数组。
close()
关闭此输入流并释放与流相关联的任何系统资源。

输出流:OutputStream
write(byte[] b)
将 b.length字节从指定的字节数组写入此输出流。
write(byte[] b, int off, int len)
从指定的字节数组写入 len个字节,从偏移 off开始输出到此输出流。
write(int b)
将指定的字节写入此输出流。

flush()
刷新此输出流并强制任何缓冲的输出字节被写出。

close()
关闭此输出流并释放与此流相关联的任何系统资源。

以下是我写的图书管理系统:

基本目录:

 在上周的基础上进行了改造,加上了下面这些,其余的与上周基本类似

Filebook

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package file;

import bean.Book;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class FileBook {
    public FileBook() {
    }

    public void saveBook(List<Book> l) {
        File fb = new File("d:/zzm/Book.txt");
        FileWriter fwb = null;

        try {
            fwb = new FileWriter(fb);
        } catch (IOException var8) {
            System.out.println(var8.getMessage());
        }

        PrintWriter p = new PrintWriter(fwb);
        Iterator<Book> it = l.iterator();

        while(it.hasNext()) {
            Book b = (Book)it.next();
            String str = b.getId() + "," + b.getName() + "," + b.getAuthor() + "," + b.getcbs() + "," + b.getDate() + "," + b.getsum() + "," + b.getPrice() + ",";
            p.println(str);
            p.flush();
        }

        p.close();
    }

    public List selectBook() {
        List l = new ArrayList();
        File fb = new File("d:/zzm/Book.txt");
        FileReader frb = null;

        try {
            frb = new FileReader(fb);
        } catch (IOException var15) {
            System.out.println("文件未找到");
        }

        BufferedReader br = new BufferedReader(frb);
        String str = null;

        try {
            str = br.readLine();
        } catch (IOException var14) {
            System.out.println(var14.getMessage());
        }

        while(str != null) {
            Book c = new Book();
            String[] s = str.split(",");
            c.setId(s[0]);
            c.setName(s[1]);
            c.setAuthor(s[2]);
            c.setCbs(s[3]);
            c.setDate(s[4]);
            int sum = Integer.parseInt(s[5]);
            c.setsum(sum);
            double price = Double.parseDouble(s[6]);
            c.setPrice(price);
            l.add(c);

            try {
                str = br.readLine();
            } catch (IOException var13) {
                System.out.println(var13.getMessage());
            }
        }

        try {
            br.close();
        } catch (IOException var12) {
            System.out.println(var12.getMessage());
        }

        return l;
    }

    public void add(Book b) {
        String str = b.getId() + "," + b.getName() + "," + b.getAuthor() + "," + b.getcbs() + "," + b.getDate() + "," + b.getsum() + "," + b.getPrice() + ",";
        File fb = new File("d:/zzm/Book.txt");
        FileWriter fwb = null;

        try {
            fwb = new FileWriter(fb, true);
        } catch (IOException var6) {
            System.out.println(var6.getMessage());
        }

        PrintWriter p = new PrintWriter(fwb);
        p.println(str);
        p.flush();
        p.close();
    }
}

Filereader

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package file;

import bean.Readin;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class FileReadin {
    public FileReadin() {
    }

    public void saveReadin(List<Readin> l) {
        File fl = new File("d:/zzm/Readin.txt");
        FileWriter fwl = null;

        try {
            fwl = new FileWriter(fl);
        } catch (IOException var8) {
            System.out.println(var8.getMessage());
        }

        PrintWriter p = new PrintWriter(fwl);
        Iterator<Readin> it = l.iterator();

        while(it.hasNext()) {
            Readin b = (Readin)it.next();
            String str = b.getXh() + "," + b.getRname() + "," + b.getXy() + "," + b.getMc() + ",";
            p.println(str);
            p.flush();
        }

        p.close();
    }

    public List selectReadin() {
        List l = new ArrayList();
        File fl = new File("d:/zzm/Readin.txt");
        FileReader frl = null;

        try {
            frl = new FileReader(fl);
        } catch (IOException var12) {
            System.out.println("文件未找到");
        }

        BufferedReader br = new BufferedReader(frl);
        String str = null;

        try {
            str = br.readLine();
        } catch (IOException var11) {
            System.out.println(var11.getMessage());
        }

        while(str != null) {
            Readin c = new Readin();
            String[] j = str.split(",");
            c.setXh(j[0]);
            c.setRname(j[1]);
            c.setXy(j[2]);
            c.setMc(j[3]);
            l.add(c);

            try {
                str = br.readLine();
            } catch (IOException var10) {
                System.out.println(var10.getMessage());
            }
        }

        try {
            br.close();
        } catch (IOException var9) {
            System.out.println(var9.getMessage());
        }

        return l;
    }

    public void add(Readin b) {
        String str = b.getXh() + "," + b.getRname() + "," + b.getXy() + "," + b.getMc() + ",";
        File fb = new File("d:/zzm/Readin.txt");
        FileWriter fwl = null;

        try {
            fwl = new FileWriter(fb, true);
        } catch (IOException var6) {
            System.out.println(var6.getMessage());
        }

        PrintWriter p = new PrintWriter(fwl);
        p.println(str);
        p.flush();
        p.close();
    }
}

Filebooklook

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package file;

import bean.Booklook;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class FileBooklook {
    public FileBooklook() {
    }

    public void savebooklook(List<Booklook> l) {
        File fl = new File("d:/zzm/booklook.txt");
        FileWriter fwl = null;

        try {
            fwl = new FileWriter(fl);
        } catch (IOException var8) {
            System.out.println(var8.getMessage());
        }

        PrintWriter p = new PrintWriter(fwl);
        Iterator<Booklook> it = l.iterator();

        while(it.hasNext()) {
            Booklook b = (Booklook)it.next();
            String str = b.getXh() + "," + b.getRname() + "," + b.getId() + "," + b.getName() + "," + b.getJdate() + "," + b.getRname() + "," + b.getGdate() + ",";
            p.println(str);
            p.flush();
        }

        p.close();
    }

    public List selectbooklook() {
        List l = new ArrayList();
        File fl = new File("d:/zzm/booklook.txt");
        FileReader frl = null;

        try {
            frl = new FileReader(fl);
        } catch (IOException var12) {
            System.out.println("文件未找到");
        }

        BufferedReader br = new BufferedReader(frl);
        String str = null;

        try {
            str = br.readLine();
        } catch (IOException var11) {
            System.out.println(var11.getMessage());
        }

        while(str != null) {
            Booklook c = new Booklook();
            String[] k = str.split(",");
            c.setXh(k[0]);
            c.setRname(k[1]);
            c.setId(k[2]);
            c.setName(k[3]);
            c.setJdate(k[4]);
            c.setRname(k[5]);
            c.setGdate(k[6]);
            l.add(c);

            try {
                str = br.readLine();
            } catch (IOException var10) {
                System.out.println(var10.getMessage());
            }
        }

        try {
            br.close();
        } catch (IOException var9) {
            System.out.println(var9.getMessage());
        }

        return l;
    }

    public void add(Booklook b) {
        String str = b.getXh() + "," + b.getRname() + "," + b.getId() + "," + b.getName() + "," + b.getJdate() + "," + b.getRname() + "," + b.getGdate() + ",";
        File fb = new File("d:/zzm/booklook.txt");
        FileWriter fwl = null;

        try {
            fwl = new FileWriter(fb, true);
        } catch (IOException var6) {
            System.out.println(var6.getMessage());
        }

        PrintWriter p = new PrintWriter(fwl);
        p.println(str);
        p.flush();
        p.close();
    }
}

工具类,接受控制台的数据

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package util;

import java.util.Scanner;

public class CMDUtil {
    private static Scanner sc;

    static {
        sc = new Scanner(System.in);
    }

    public CMDUtil() {
    }

    public static String getString() {
        String s = "";
        if (sc.hasNext()) {
            s = sc.nextLine();
        }

        return s;
    }

    public static int getInt() {
        int i = -1;
        boolean b = true;

        while(b) {
            try {
                String s = getString();
                i = Integer.parseInt(s);
                b = false;
            } catch (Exception var3) {
                System.out.println("请重新输入");
            }
        }

        return i;
    }

    public static char getChar() {
        String s = getString();
        s = s.toUpperCase();
        char c = s.charAt(0);
        return c;
    }

    public static double getDouble() {
        double i = -1.0;
        boolean b = true;

        while(b) {
            try {
                String s = getString();
                i = Double.parseDouble(s);
                b = false;
            } catch (Exception var4) {
                System.out.println("请重新输入");
            }
        }

        return i;
    }
}

MySQL的知识点在下一篇博客

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Protobuf是一种高效的序列化协议,可以用于数据交换和数据存储。它的主要优势是大小小,速度快,可扩展性强。下面是使用Protobuf的一些小记: 1. 定义消息格式 首先,需要定义消息格式,以便Protobuf可以将数据序列化和反序列化。消息格式定义在.proto文件中,使用protobuf语言编写。例如,下面是一个简单的消息格式定义: ``` syntax = "proto3"; message Person { string name = 1; int32 age = 2; } ``` 这个消息格式定义了一个名为Person的消息,包含两个字段:name和age。 2. 生成代码 一旦消息格式定义好,就可以使用Protobuf编译器生成代码。编译器将根据消息格式定义生成相应的代码,包括消息类、序列化和反序列化方法等。可以使用以下命令生成代码: ``` protoc --java_out=. message.proto ``` 这将生成一个名为message.pb.javaJava类,该类包含Person消息的定义以及相关方法。 3. 序列化和反序列化 一旦生成了代码,就可以使用Protobuf序列化和反序列化数据。例如,下面是一个示例代码,将一个Person对象序列化为字节数组,并将其反序列化为另一个Person对象: ``` Person person = Person.newBuilder() .setName("Alice") .setAge(25) .build(); byte[] bytes = person.toByteArray(); Person deserializedPerson = Person.parseFrom(bytes); ``` 这个示例代码创建了一个Person对象,将其序列化为字节数组,然后将其反序列化为另一个Person对象。在这个过程中,Protobuf使用生成的代码执行序列化和反序列化操作。 以上是使用Protobuf的一些基本步骤和注意事项,希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

几两春秋梦_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值