为什么80%的码农都做不了架构师?>>>   

字节流File读写操作

/*
字节流
InputStream OutputStream
不需要进行flush
操作图片数据需要用到字节流*/import java.io.*;class FileStream{public static void main(String[] args)throws IOException{// writeFile();readFile_3();}public static void readFile_1()throws IOException{FileInputStream fis=new FileInputStream("fos.txt");int ch=0;while((ch=fis.read())!=-1){System.out.println((char)ch);}fis.close();}public static void readFile_2()throws IOException{FileInputStream fis=new FileInputStream("fos.txt");byte[]buf=new byte[1024];int len=0;while((len=fis.read(buf))!=-1){System.out.println(new String(buf,0,len));}fis.close();}public static void readFile_3()throws IOException{   //字节流特有方法FileInputStream fis=new FileInputStream("fos.txt");int num=fis.available();byte[]buf=new byte[num];//定义一个刚刚好的缓冲区,不用再循环fis.read(buf);System.out.println(new String(buf));fis.close();}public static void writeFile()throws IOException{FileOutputStream fos=new FileOutputStream("fos.txt");fos.write("abcde".getBytes());fos.close();}}

读写图片

/*
拷贝图片
1.用字节读取流对象和图片关联
2.用字节写入流对象创建一个图片文件,用于储存
3.循环读写
4.关闭资源*/import java.io.*;class CopyPic{public static void main(String[] args){FileOutputStream fos=null;FileInputStream fis=null;try{fos=new FileOutputStream("xx.bmp");fis=new FileInputStream("oo.bmp");byte[]buf=new byte[1024];int len=0;while((len=fis.read(buf))!=-1){fos.write(buf,0,len);}}catch(IOException e){throw new RuntimeException("Wrong!");}finally{try{if(fis!=null){fis.close();}}catch(IOException e){throw new RuntimeException("ooWrong!");}try{if(fos!=null){fos.close();}}catch(IOException e){throw new RuntimeException("xxWrong!");}}}}

字节流缓冲区

/*
BufferedOutputStream
BufferedInputStream*/
import java.io.*;
class CopyMp3{public static void main(String[] args)throws IOException{long start=System.currentTimeMillis();copy_1();long end=System.currentTimeMillis();System.out.pringln((end-start));}public static void copy_1()throws IOException{BufferedInputStream bufis=new BufferedInputStream(new FileInputStream("xx.mp3"));BufferedOutputStream bufos=new BufferedOutputStream(new FileOutputStream("oo.mp3"));int by=0;while((by=bufis.read())!=-1){bufos.write(by);}bufos.close();bufis.close();}
}

自定义字节流缓冲区

import java.io.*;
class MyBufferedInputStream{private InputStream in;private byte[]buf=new byte[1024];private int pos=0,count=0;MyBufferedInputStream(InputStream in){this.in=in;}// 一次读一个字节,从缓冲区获取public int myRead()throws IOException{// 通多in对象读取硬盘上数据并存储至bufif(count==0){count-in.read(buf);pos=0;//每一次pos需要归0byte b=buf[pos];count--;pos++;return b;}else if(count>0){byte b=buf[pos];count--;pos++;return b&0xff;//防止初始count为-1}return -1;}public void myColse()throws IOException{in.close();}
}

转载于:https://my.oschina.net/Almon/blog/750840

Java学习日志(19-3-IO流-字节流操作)相关推荐

  1. 一个编程小白的Java SE学习日志 X—— 输入输出(IO)流【极客BOY-米奇】

    文章目录 前言(转载请说明作者!)4.30~5.7编写 File类 File类的构造方法 File类常用方法 File类的一些常用方法实例 IO流 IO流的分类 按数据流的方向分类 按是否直接操作源或 ...

  2. java学习日记21,IO流

    周二跑沙河开例会,晚上回来也在打王者,没怎么学习,就没记录了,今天继续坚持. File类 file,文件,java.IO.File类:文件和文件目录路径的抽象表示形式. File类可以对文件.文件夹进 ...

  3. Java学习之路-day21 IO流02

    Java IO流 每日一句 1.字符流 1.1为什么会出现字符流 1.3字符串中的编码解码问题 1.4字符流写数据 1.5字符流读数据 1.6字符流用户注册案例 1.7字符缓冲流 1.8字符缓冲流特有 ...

  4. Java基础(19)IO流

    十九.IO流 持久化:将内存中的数据  输出到其他设备中(比如硬盘),用于长时间保持数据 流:数据传输的管道或通道 i是in的缩写表示输入,o是out的缩写表示输出,io则表示了两个不同方向流 一般的 ...

  5. Java 关于文件的复制io流的操作

    关于文件备份的三种方式解答 需要的jar包 jcifs jcifs 1.3.17 commons-net commons-net 3.3 commons-io commons-io 2.5 引入jar ...

  6. 菜鸟学习笔记:Java提升篇5(IO流1——IO流的概念、字节流、字符流、缓冲流、转换流)

    菜鸟学习笔记:Java IO流1--IO流的概念.字节流.字符流.缓冲流.转换流 IO流的原理及概念 节点流 字节流 文件读取 文件写出 文件拷贝 文件夹拷贝 字符流 文件读取 文件写出 处理流 缓冲 ...

  7. 菜鸟学习笔记:Java提升篇6(IO流2——数据类型处理流、打印流、随机流)

    菜鸟学习笔记:Java IO流2--其他流 字节数组输入输出流 数据类型处理流 基本数据类型 引用类型 打印流 System.in.System.out.System.err 随机流RandomAcc ...

  8. Java基础学习(二十七)之IO流

    1. File 1.1 File类概述和构造方法(myFile中的com.itheima_01中的FileDemo01) File:它是文件和目录路径名的抽象表示 文件和目录是可以通过File封装成对 ...

  9. Java基础(三)IO流和对象流

    文件及IO流 File类 1.来自于java.io包 2.是文件和目录路径名的抽象表示 3.文件和目录可以通过File封装为对象 4.对于File而言,封装的不是真正存在的文件,仅仅是封装一个路径,路 ...

  10. 题解,java学习日志(3)

    题解 U - 速算24点 D - Bank(标记) E.2xN Grid C.Findand Replace D.Odd Queries 搜索题组 U - 速算24点 思路:map映射将特定字符转化成 ...

最新文章

  1. 《深入理解Elasticsearch(原书第2版)》——第2章 查询DSL进阶 2.1 Apache Lucene默认评分公式解释...
  2. altium designer 绘制pcb时漏线检查
  3. Go基础系列:构建go程序
  4. json2.js参考
  5. 列表推导式与生成表达式的区别
  6. 通过string型类名实例化一个类
  7. 【LeetCode笔记】621. 任务调度器(Java、桶)
  8. 工作中由于任务分配注意问题
  9. 阿里云MVP乔帮主:五大类型负载均衡的原理场景详解(文末赠书)
  10. Spring Boot和SSM本质上的区别
  11. java string范围_java,String
  12. 加拿大上市公司Vinergy更新投资政策 将涉及比特币数字货币等投资
  13. 打开access文件 提示文件名无效_分享在PS软件打开图像时提示无效的JPEG的解决方法...
  14. AI一分钟 | 小米在香港提交招股书募资100亿美元;寒武纪发布首款云端AI芯片和第三代终端IP...
  15. 三凌PLC源码,STM32F205VCT6主控PLC控制器板,已批量生产
  16. 2023考研高数思维导图
  17. java 获取各省市的区号_城市查区号示例代码
  18. BIN转HEX,HEX转BIN,互相转换工具,PIC
  19. 做带团长的社区团购吗?必死那种。
  20. 什麼是雲端服務?阿正老師教你免費玩Amazon EC2雲端主機!(上篇)

热门文章

  1. ElasticSearch6.8.1集群搭建及Java客户端编写
  2. preg_match
  3. c/c++将字符串中的空格替换成%20
  4. AtCoder Grand Contest 023
  5. ROS入门(一) 文件结构篇
  6. webpack:Cannot find module 'extract-text-webpack-plugin'
  7. RAD Studio 2010 环境设置(转)
  8. jsp(web作业)
  9. Tomcat系列(4)——Tomcat 组件及架构详细部分
  10. 【问题记录】python 函数 传入一个对象返回一个对象值得注意