Java学习日志(19-3-IO流-字节流操作)
为什么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流-字节流操作)相关推荐
- 一个编程小白的Java SE学习日志 X—— 输入输出(IO)流【极客BOY-米奇】
文章目录 前言(转载请说明作者!)4.30~5.7编写 File类 File类的构造方法 File类常用方法 File类的一些常用方法实例 IO流 IO流的分类 按数据流的方向分类 按是否直接操作源或 ...
- java学习日记21,IO流
周二跑沙河开例会,晚上回来也在打王者,没怎么学习,就没记录了,今天继续坚持. File类 file,文件,java.IO.File类:文件和文件目录路径的抽象表示形式. File类可以对文件.文件夹进 ...
- Java学习之路-day21 IO流02
Java IO流 每日一句 1.字符流 1.1为什么会出现字符流 1.3字符串中的编码解码问题 1.4字符流写数据 1.5字符流读数据 1.6字符流用户注册案例 1.7字符缓冲流 1.8字符缓冲流特有 ...
- Java基础(19)IO流
十九.IO流 持久化:将内存中的数据 输出到其他设备中(比如硬盘),用于长时间保持数据 流:数据传输的管道或通道 i是in的缩写表示输入,o是out的缩写表示输出,io则表示了两个不同方向流 一般的 ...
- Java 关于文件的复制io流的操作
关于文件备份的三种方式解答 需要的jar包 jcifs jcifs 1.3.17 commons-net commons-net 3.3 commons-io commons-io 2.5 引入jar ...
- 菜鸟学习笔记:Java提升篇5(IO流1——IO流的概念、字节流、字符流、缓冲流、转换流)
菜鸟学习笔记:Java IO流1--IO流的概念.字节流.字符流.缓冲流.转换流 IO流的原理及概念 节点流 字节流 文件读取 文件写出 文件拷贝 文件夹拷贝 字符流 文件读取 文件写出 处理流 缓冲 ...
- 菜鸟学习笔记:Java提升篇6(IO流2——数据类型处理流、打印流、随机流)
菜鸟学习笔记:Java IO流2--其他流 字节数组输入输出流 数据类型处理流 基本数据类型 引用类型 打印流 System.in.System.out.System.err 随机流RandomAcc ...
- Java基础学习(二十七)之IO流
1. File 1.1 File类概述和构造方法(myFile中的com.itheima_01中的FileDemo01) File:它是文件和目录路径名的抽象表示 文件和目录是可以通过File封装成对 ...
- Java基础(三)IO流和对象流
文件及IO流 File类 1.来自于java.io包 2.是文件和目录路径名的抽象表示 3.文件和目录可以通过File封装为对象 4.对于File而言,封装的不是真正存在的文件,仅仅是封装一个路径,路 ...
- 题解,java学习日志(3)
题解 U - 速算24点 D - Bank(标记) E.2xN Grid C.Findand Replace D.Odd Queries 搜索题组 U - 速算24点 思路:map映射将特定字符转化成 ...
最新文章
- 《深入理解Elasticsearch(原书第2版)》——第2章 查询DSL进阶 2.1 Apache Lucene默认评分公式解释...
- altium designer 绘制pcb时漏线检查
- Go基础系列:构建go程序
- json2.js参考
- 列表推导式与生成表达式的区别
- 通过string型类名实例化一个类
- 【LeetCode笔记】621. 任务调度器(Java、桶)
- 工作中由于任务分配注意问题
- 阿里云MVP乔帮主:五大类型负载均衡的原理场景详解(文末赠书)
- Spring Boot和SSM本质上的区别
- java string范围_java,String
- 加拿大上市公司Vinergy更新投资政策 将涉及比特币数字货币等投资
- 打开access文件 提示文件名无效_分享在PS软件打开图像时提示无效的JPEG的解决方法...
- AI一分钟 | 小米在香港提交招股书募资100亿美元;寒武纪发布首款云端AI芯片和第三代终端IP...
- 三凌PLC源码,STM32F205VCT6主控PLC控制器板,已批量生产
- 2023考研高数思维导图
- java 获取各省市的区号_城市查区号示例代码
- BIN转HEX,HEX转BIN,互相转换工具,PIC
- 做带团长的社区团购吗?必死那种。
- 什麼是雲端服務?阿正老師教你免費玩Amazon EC2雲端主機!(上篇)
热门文章
- ElasticSearch6.8.1集群搭建及Java客户端编写
- preg_match
- c/c++将字符串中的空格替换成%20
- AtCoder Grand Contest 023
- ROS入门(一) 文件结构篇
- webpack:Cannot find module 'extract-text-webpack-plugin'
- RAD Studio 2010 环境设置(转)
- jsp(web作业)
- Tomcat系列(4)——Tomcat 组件及架构详细部分
- 【问题记录】python 函数 传入一个对象返回一个对象值得注意