这期内容当中小编将会给大家带来有关深入浅析Java中IO流的字节流,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
<强> Java中IO流字节流实例详解强>
<强> IO流(输入流,输出流),又分为字节流,字符流。强>
流是磁盘或其它外围设备中存储的数据的源点或终点。
输入流:程序从输入流读取数据源。数据源包括外界(键盘,文件,网络…),即是将数据源读入到程序的通信通道。
输出流:程序向输出流写入数据。将程序中的数据输出到外界(显示器,打印机,文件,网络…)的通信通道。
<强>字节流强>
1。InputStream, OutputStream
InputStream抽象了应用程序读取数据的方式
OutputStream抽象了应用程序写出数据的方式
2。读到文件结尾,称为EOF=结束,读到1就读到结尾
3。输入流基本方法
int b=in.read();读取一个字节,无符号填充到int的低八位。1是EOF
int.read (byte [] buf)读取数据填充到字节数组buf
int.read (byte[]缓冲区,int, int大小)读取数据填充到字节数组缓冲区,从缓冲区的开始位置开始存储规模长度的数据
4。输出流基本方法
。写(int b);写出一个字节到流,b的低八位
。写(byte [] buf);将buf字节数组都写入到流
。写(byte[]缓冲区,int, int大小),字节数组buf从开始位置开始写尺寸长度的字节到流
5. fileinputstream是InputStream的子类,具体实现了在文件上读取数据
,,6.FileOutputStream是OutputStream的子类,实现了向文件中写出字节数据的方法
<强> FileInputStream的演示:强>
包com.test.io; 进口java.io.BufferedInputStream; 进口java.io.BufferedOutputStream; 进口java.io.File; 进口java.io.FileInputStream; 进口java.io.FileOutputStream; 进口java.io.IOException; 公开课IOUtils {/* * *读取指定文件内容,按照十六进制输出到控制台 *并且每输出10个字节换行 * @param文件名 * @throws IOException */公共静态孔隙printHex(字符串文件名)抛出IOException {//把文件作为字节流进行读操作 FileInputStream=新FileInputStream(文件名); int b; int i=1; 在((b=in.read ()) !=1) { if (b & lt;=0 xf) { System.out.print (“0”); } System.out.print (Integer.toHexString (b) +“;“); 如果(我% 10==0){ System.out.println (“;”); } 我+ +; } in.close (); } 公共静态孔隙printHexByByteArray(字符串文件名)抛出IOException { FileInputStream=新FileInputStream(文件名); byte [] buf=新字节(20 * 1024);//如果字节数组够大,可以一次性读完//从在中批量读取字节,放入到buf这个字节数组中,从第0个位置开始放,最多放buf.length个,返回的是读到的字节的个数/* int字节=6?buf 0 buf.length); int j=1; for (int i=0;我& lt;字节;我+ +){ 如果(buf[我]& lt;=0 xf) { System.out.print (“0”); } System.out.print(整数。toHexString (buf(我),0 xff) +“;“); 如果(j % 10==0) { System.out.println (“;”); } + +; } *///如果字节数组不够大,不能一次性读完 int字节=0; int j=1; 在((字节=6?buf 0 buf.length)) !=1) { for (int i=0;我& lt;字节;我+ +){ 如果(buf[我]& lt;=0 xf) { System.out.print (“0”); } System.out.print(整数。toHexString (buf(我),0 xff) +“;“); 如果(j % 10==0) { System.out.println (“;”); } + +; } } } }
<>强FileOutputStream的演示:强>
包com.test.io; 进口java.io.FileOutputStream; 进口java.io.IOException; 公开课FileOutputDemo { 公共静态void main (String [] args)抛出IOException {//如果该文件不存在,则直接创建,如果存在,删除后创建。(如果第二个参数为true,则将字节写入文件末尾处,而不是写入文件开始处)。 FileOutputStream=new FileOutputStream (“F: \ \ javaio \ \ out.dat"); out.write(& # 39;一个# 39;);//写入了”一个# 39;的低八位(一次只写入一个字节) int=10; 出去了。写(在祝辞祝辞24); 出去了。写(在祝辞祝辞16); 出去了。写(在祝辞祝辞8); out.write(一个); byte [] b=?0“.getBytes (); out.write (b); out.close (); IOUtils.printHex (“F: \ \ javaio \ \ out.dat"); } }Java中深入浅析IO流的字节流