Java IO中字节输入输出流的示例分析(io,java,开发技术)

时间:2024-05-04 21:01:41 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

讲的是字节输入输出流:InputStreamOutputSteam(下图红色长方形框内),红色椭圆框内是其典型实现(FileInputSteamFileOutStream)  

Java IO中字节输入输出流的示例分析

1、字节输出流:OutputStream

publicabstractclassOutputStream      extendsObject      implementsCloseable,Flushable

这个抽象类是表示字节输出流的所有类的超类。 输出流接收输出字节并将其发送到某个接收器。

方法摘要:

Java IO中字节输入输出流的示例分析

下面我们用 字节输出流 OutputStream 的典型实现 FileOutputStream 来介绍:

//1、创建目标对象,输出流表示把数据保存到哪个文件。不写盘符,默认该文件是在该项目的根目录下Filetarget=newFile("io"+File.separator+"a.txt");//2、创建文件的字节输出流对象,第二个参数是Boolean类型,true表示后面写入的文件追加到数据后面,false表示覆盖OutputStreamout=newFileOutputStream(target,true);//3、具体的IO操作(将数据写入到文件a.txt中)/***voidwrite(intb):把一个字节写入到文件中*voidwrite(byte[]b):把数组b中的所有字节写入到文件中*voidwrite(byte[]b,intoff,intlen):把数组b中的从off索引开始的len个字节写入到文件中*/out.write(65);//将A写入到文件中out.write("Aa".getBytes());//将Aa写入到文件中out.write("ABCDEFG".getBytes(),1,5);//将BCDEF写入到文件中//经过上面的操作,a.txt文件中数据为AAaBCDEF//4、关闭流资源out.close();System.out.println(target.getAbsolutePath());

2、字节输入流:InputStream

publicabstractclassInputStream  extendsObject  implementsCloseable

这个抽象类是表示输入字节流的所有类的超类。

方法摘要:

Java IO中字节输入输出流的示例分析

下面我们用 字节输出流 InputStream 的典型实现 FileInputStream 来介绍:

//1、创建目标对象,输入流表示那个文件的数据保存到程序中。不写盘符,默认该文件是在该项目的根目录下//a.txt保存的文件内容为:AAaBCDEFFiletarget=newFile("io"+File.separator+"a.txt");//2、创建输入流对象InputStreamin=newFileInputStream(target);//3、具体的IO操作(读取a.txt文件中的数据到程序中)/***注意:读取文件中的数据,读到最后没有数据时,返回-1*intread():读取一个字节,返回读取的字节*intread(byte[]b):读取多个字节,并保存到数组b中,从数组b的索引为0的位置开始存储,返回读取了几个字节*intread(byte[]b,intoff,intlen):读取多个字节,并存储到数组b中,从数组b的索引为0的位置开始,长度为len个字节*///intread():读取一个字节,返回读取的字节intdata1=in.read();//获取a.txt文件中的数据的第一个字节System.out.println((char)data1);//A//intread(byte[]b):读取多个字节保存到数组b中byte[]buffer=newbyte[10];in.read(buffer);//获取a.txt文件中的前10个字节,并存储到buffer数组中System.out.println(Arrays.toString(buffer));//[65,97,66,67,68,69,70,0,0,0]System.out.println(newString(buffer));//AaBCDEF[][][]//intread(byte[]b,intoff,intlen):读取多个字节,并存储到数组b中,从索引off开始到lenin.read(buffer,0,3);System.out.println(Arrays.toString(buffer));//[65,97,66,0,0,0,0,0,0,0]System.out.println(newString(buffer));//AaB[][][][][][][]//4、关闭流资源in.close();

3、用字节流完成文件的复制

/***将a.txt文件复制到b.txt中*///1、创建源和目标FilesrcFile=newFile("io"+File.separator+"a.txt");FiledescFile=newFile("io"+File.separator+"b.txt");//2、创建输入输出流对象InputStreamin=newFileInputStream(srcFile);OutputStreamout=newFileOutputStream(descFile);//3、读取和写入操作byte[]buffer=newbyte[10];//创建一个容量为10的字节数组,存储已经读取的数据intlen=-1;//表示已经读取了多少个字节,如果是-1,表示已经读取到文件的末尾while((len=in.read(buffer))!=-1){//打印读取的数据System.out.println(newString(buffer,0,len));//将buffer数组中从0开始,长度为len的数据读取到b.txt文件中out.write(buffer,0,len);}//4、关闭流资源out.close();in.close();
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Java IO中字节输入输出流的示例分析的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Android中Button如何实现点击换图案及颜色下一篇:

3 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18