Java实现简单的图书管理系统

来源:互联网 发布:安卓 王者荣耀 优化 编辑:程序博客网 时间:2024/05/16 00:57
最近在学习Java网络编程,写了一个图书管理系统练手。使用文件的输入和输出类实现对书记数据的保存和读取。

FileInputStream和FileOutputStream类为建立一个与文件相关的输入与输出流,提供从文件中读取或者写入一个字节或一组数据的方法。而ObjectOutputStream是用来输入对象。最后程序还有一点小问题,加入书籍会覆盖以前加入的书籍数据,之后有时间再修改。

package test;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.Scanner;public class Jmain {/** * @param args */static int a;static FileOutputStream nos=null;static FileInputStream nis=null;public static void main(String[] args) {// TODO Auto-generated method stubtry {nos=new FileOutputStream("savenum.txt",true);nis=new FileInputStream("savenum.txt");} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}m();}public static void m(){Scanner snr = new Scanner(System.in); System.out.println("选择功能");System.out.println("1 加入书籍");System.out.println("2 查找书籍");System.out.println("3 退出");a=snr.nextInt();d(a);}public static void d(int a){int i=0,n,isbn,num=0;Scanner sn = new Scanner(System.in); switch(a){case 1:{System.out.println("输入需要加入的数量");i=sn.nextInt();try {nos.write(i);} catch (IOException e) {e.printStackTrace();}inputbook.newb();for(n=0;n<i;n++){inputbook.input();}m();}case 2:{try {num=nis.read();while(num==-1){num+=nis.read();}} catch (IOException e) {e.printStackTrace();}//System.out.println(num);System.out.println("输入isbn");isbn=sn.nextInt();findBook.fba();//System.out.println(num);for(n=0;n<num;n++){findBook.fb(isbn);}m();}case 3:{break;}}}}
package test;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.ObjectInputStream;public class findBook {static ObjectInputStream ois;public static void fba(){try {ois=new ObjectInputStream(new FileInputStream("save.txt"));} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void fb(int isbn){inputbook book=new inputbook() ;try {book=(inputbook) ois.readObject();} catch (IOException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (ClassNotFoundException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}if(isbn==book.isbn){System.out.println("ISBN:");System.out.println(book.isbn);System.out.println("价格:");System.out.println(book.price);System.out.println("书名:");System.out.println(book.name);}elseSystem.out.println("未找到记录");}}

package test;import java.io.*;import java.util.Scanner;public class inputbook implements Serializable{/** *  */private static final long serialVersionUID = 1L;int isbn;int price;String name;public int getIsbn() {return isbn;}public void setIsbn(int isbn) {this.isbn = isbn;}public int getPrice() {return price;}public void setPrice(int price) {this.price = price;}public String getName() {return name;}public void setName(String name) {this.name = name;}static ObjectOutputStream fos;static int a=1;public static  void newb(){try {fos=new ObjectOutputStream(new FileOutputStream("save.txt"));a=2;} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void input(){int i,p;String n;//System.out.println(a);Scanner scanner = new Scanner(System.in); inputbook book=new inputbook() ;System.out.println("请输入ISBN:");i=scanner.nextInt();//System.out.println(i);book.setIsbn(i);System.out.println("请输入书名:");n=scanner.nextLine();n=scanner.nextLine();book.setName(n);System.out.println("请输入价格:");p=scanner.nextInt();book.setPrice(p);try {fos.writeObject(book);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}



0 0
原创粉丝点击