IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Java学习-工具IDEA-黑马视频(第十六天) -> 正文阅读

[开发工具]Java学习-工具IDEA-黑马视频(第十六天)

FileOutputStream

基本写数据

 		//创建字节流对象
//        //创建文件输出流以指定得名称写入文件
//        FileOutputStream fos = new FileOutputStream("idea_test\\src\\com\\FIle\\fos.txt");

        //为true时表示追加写入
        FileOutputStream fos = new FileOutputStream("idea_test\\src\\com\\FIle\\fos.txt",true);

        //将指定的字节写入此文件输出流,ASCII码
        fos.write(97);//a

        //将指定的字节数组写入此文件输出流,ASCII码
        byte[] bys = {23,43,23,53,32,54};
        fos.write(bys);
        /**
         * 换行符识别:
         * Win:\r\n
         * linux:\n
         * mac:\r
         */

        fos.write("\n".getBytes());
        //返回字符串对应字节数组
        byte[] bys2 = "JYQWBD".getBytes();
        //从字节数组指定起点off开始写len长度的字节到数据流
        fos.write(bys2,1,3);
        //关闭此文件输出流并释放与此流相关联的任何系统资源
        fos.close();

异常处理

        /**
         * finally:在异常处理时提供finally块来执行所有的清楚操作。比如IO流中的释放资源
         * 特点:被finally控制的语句一定会执行,除非JVM退出
         */
        FileOutputStream ofs = null;
        try {
            ofs = new FileOutputStream("idea_test\\\\src\\\\com\\\\FIle\\\\fos.txt");
            ofs.write("hello".getBytes());
        } catch (IOException e){
            e.printStackTrace();
        } finally {
            //加if的原因是因为若前面给ofs赋值失败时,ofs依然为空,如果不判空则下面的close操作会报错
            if(ofs != null){
                try {
                    //如果不这样弄,当出现异常时程序会一直占用该资源
                    ofs.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

        }

FileInputStream

读取单个字节

        FileInputStream fis = new FileInputStream("idea_test\\\\src\\\\com\\\\FIle\\\\fos.txt");

        /**
         * 调用字节输入流对象的读数据方法
         * read():从该输入流读取一个字节的数据
         * 如果读取到文件末尾则返回-1
         */
        int by = fis.read();
        while(by!=-1){
            System.out.print((char) by);
            by = fis.read();
        }
        //优化
        int by2 = 0;
        while((by2=fis.read())!=-1){
            System.out.println((char)by2);
        }

        //释放资源
        fis.close();

读取一个字节数组的数据

		FileInputStream fis = new FileInputStream("idea_test\\src\\com\\FIle\\fos.txt");
//        byte[] bys = new byte[5];
//        int len = fis.read(bys);
//        System.out.println(len);
//        System.out.println(new String(bys));
//        /**
//         * hello\n
//         * world\n
//         * 第一次:hello
//         * 第二次:\nworl
//         * 第三次:d\n
//         */
//        /**
//         * 最后结果
//         * 5
//         * hello
//         * 5
//         *
//         * worl
//         * 1
//         * dworl
//         * 最后一次为dworl原因是bys中上一次已经给字节数组赋值了,而第三次操作只修改了第一个字节
//         * 所以为了避免读取上次留下的字节,需要将其修改为new String(bys,0,len)
//         */
//        len = fis.read(bys);
//        System.out.println(len);
//        System.out.println(new String(bys));
//
//        len = fis.read(bys);
//        System.out.println(len);
//        System.out.println(new String(bys));

        //升级
        byte[] bys2 = new byte[1024];//一般给1024及其整数倍
        int len2 = 0;
        while((len2 = fis.read(bys2))!=-1){
            System.out.println(new String(bys2,0,len2));
        }

复制图片

        FileInputStream fis = new FileInputStream("C:\\Users\\17822\\Desktop\\个人资料\\毕业.jpg");
        FileOutputStream fos = new FileOutputStream("C:\\Users\\17822\\Desktop\\毕业2.jpg");

        byte[] bys =new byte[1024];
        int len = 0;
        while((len = fis.read(bys))!=-1){
            fos.write(bys,0,len);
        }
        fos.close();
        fis.close();
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-08-25 12:25:02  更:2021-08-25 12:25:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/22 18:59:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码