码迷,mamicode.com
首页 > 编程语言 > 详细

Java学习笔记之 IO包 字节流

时间:2018-03-01 13:32:07      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:换行符   stream   b2c   edit   demo   读取   .net   抽象类   text   

IO包最重要的五个类和一个接口

File/OutputStream/InputStream(字节流)/Writer/Reader(字符流)

一个接口:Serializable

?

File类:

技术分享图片


字节流:

OutputStreamInputStream是抽象类

OutputStream是整个IO包中。字节输出流的最大类

FileOutputStream是一个子类,通经常使用整个子类通过多态实例化OutputStream

技术分享图片

?技术分享图片


?

?


packageiotest;

?

importjava.io.File;

importjava.io.FileNotFoundException;

importjava.io.IOException;

importjava.io.OutputStream;

importjava.io.FileOutputStream;

importjava.io.InputStream;

importjava.io.FileInputStream;

?

publicclass OutputStreamDemo1 {

public static void main(String args[]) throws Exception{

File f =newFile("D:"+File.separator+"javasrc"+File.separator+"write_file.txt");

OutputStream o=null;

o=new FileOutputStream(f);

String s="Hello World!";

byte b[]=s.getBytes();

o.write(b);

o.close();

//改动文件 追加文件内容

OutputStream o1=null;

o1=new FileOutputStream(f,true);

o1.write("\r\n".getBytes()); //添加换行符

o1.write(b);

o1.close();

?

//读取并打印文件

//01 定义一个字节数组 长度为1024

InputStream in1=null;

in1=new FileInputStream(f);

byte b1[]=new byte[1024];

int len=in1.read(b1);

in1.close();????????????????

print(b1,len);

?

//02 定义一个字节数组 长度为文件长度

InputStream in2=null;

in2=new FileInputStream(f);

byte b2[]=new byte[(int)f.length()];

in2.read(b2);

in2.close();

print(b2);

?

?? ????//03 已经文件长度 逐个字节读取

?????? ???????InputStream in3=null;

in3=new FileInputStream(f);

byte b3[]=new byte[(int)f.length()];

for (int i=0;i<b3.length;i++){

b3[i]=(byte) in3.read();

}

in3.close();

print("the third read method:");

print(b3);

?????

//04 未知文件长度读取

InputStream in4=null;

in4=new FileInputStream(f);

byte b4[]=new byte[1024];

int i=0;

int temp=0;

while ((temp=in4.read())!=-1){

b4[i]=(byte)temp;

i++;

}

in4.close();

print("the fourth read method:");

print(b4);

}

?

public static void print(byte b[],int len){

System.out.println(new String(b,0,len));

}

public static void print(byte b[]){

System.out.println(new String(b));

}

public static void print(String b){

System.out.println(b);

}

?

}

Java学习笔记之 IO包 字节流

标签:换行符   stream   b2c   edit   demo   读取   .net   抽象类   text   

原文地址:https://www.cnblogs.com/zhchoutai/p/8487739.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!