JavaIO流

字符流的使用

输入流

//对文件进行操作,必须将文件封装为具体的File类对象
        File file=new File("c:\\test.txt");
        //用输入流连接文件
        FileReader fr=new FileReader(file);
        //读取文件
//        int n1=fr.read();
//        System.out.println(n1);
//        int n2=fr.read();
//        System.out.println(n2);
        int n;
        while (true){
            n= fr.read();
            if (n==-1)
                break;
            System.out.println(n);
        }
        //流关闭操作
        fr.close();

 

 输出流

 

//程序中的字符串
        String str="Hello";
        //文件
        File file=new File("c:\\tool\\demo.txt");
        //字符输出流
        FileWriter fw=new FileWriter(file);
        //写入
        fw.write(str);
        //关闭流
        fw.close();

 

 字节流的使用

//文件
        File file=new File("c:\\tool\\demo.txt");
        if (file.exists()){ //如果文件存在
            //输入流
            FileInputStream fis=new FileInputStream(file);
            ObjectInputStream ois=new ObjectInputStream(fis);
            //读取文件
            ArrayList books=(ArrayList) ois.readObject();
            //关闭流
            ois.close();
            //删除操作
            Scanner sc=new Scanner(System.in);
            System.out.print("请输入要下架的书籍编号:");
            int id=sc.nextInt();

            Book item=null;
            for(int i=0;i<books.size();i++){
                Book book=(Book) books.get(i);
                if (book.getId()==id){
                    item=book;
                }
            }
            if (item==null){
                System.out.println("该书籍不存在!");
            }else {
                books.remove(item);
                //输出流
                FileOutputStream fos=new FileOutputStream(file);
                ObjectOutputStream oos=new ObjectOutputStream(fos);
                //输出
                oos.writeObject(books);
                //关闭流
                oos.close();
                System.out.println("下架成功!");
            }
        }else {
            System.out.println("还未上架书籍,请先上架书籍!");
        }

要将程序中用到的类序列化

public class Book implements Serializable
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值