黑马程序员--Java面向对象——IO流(字节流读取流)

------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流!

面向对象

字节流基类 

InputStream

OutputStream

/*

写入文件

*/

import java.io.OutputStream;

import java.io.FileOutputStream;

import java.io.IOException;

public class Test{

public static void main(String...args)throwsIOException{

OutputStream os = new FileOutputStream("C:\\1.Java");

os.write("黑马程序员".getBytes());

os.close();

}

}


/*

第一种读取文件的方法。

对于操作文本文件不支持使用此做法。

*/

import java.io.InputStream;

import java.io.FileInputStream;

import java.io.IOException;

public classTest{

public static void main(String...args) throws IOException{

InputStream is =newFileInputStream("C:\\1.jpg");

for(int by = 0;(by=is.read())!=-1;){

System.out.print(by);

}

is.close();

}

}

/*

第二种读取文件的方法。

对于操作文本文件支持使用此做法。

*/

import java.io.InputStream;

import java.io.FileInputStream;

import java.io.IOException;

public class Test{

public static void main(String...args) throws IOException{

InputStream is = new FileInputStream("C:\\1.Java");

byte []buf = new byte[1024];

for(int len = 0;(len=is.read(buf))!=-1;){

System.out.print(new String(buf,0,len));

}

is.close();

}

}

InputStream

 intavailable()
          返回此输入流下一个方法调用可以不受阻塞地从此输入流读取(或跳过)的估计字节数。


/*

第三种方式,如果内存太大会报错。

*/

import java.io.InputStream;

import java.io.FileInputStream;

import java.io.IOException;

public class Test{

public static void main(String...args) throws IOException {

InputStream is =new FileInputStream("C:\\1.Java");

byte[] buf =new byte[is.available()];

is.read(buf);

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

is.close();

}

}


IO流(拷贝图片)

/*

思路:
1、用字节读取流对象和图片关联
2、用字节写入流对象创建一个图片文件。用于存储获取到的图片数据
3、通过循环读写,完成数据的存储
4、关闭资源

*/

import java.io.InputStream;

import java.io.FileInputStream;

import java.io.OutputStream;

import java.io.FileOutputStream;

import java.io.IOException;

public class Test{

public static void main(String...args){

InputStream is =null;

OutputStream os =null;

try{

is =newFileInputStream("C:\\1.jpg");

os =newFileOutputStream("D:\\1.jpg");

byte []buf =new byte[1024];

for(int len=0;(len=is.read(buf))!=-1;){

os.write(buf,0,len);

}

}

catch(IOException e){

System.out.println("读写错误");

}

finally{

try{

if(is!=null)

is.close();

}

catch(IOException e){

System.out.println("读取流关闭失败");

}

finally{

try{

if(os!=null)

os.close();

}

catch(IOException e){

System.out.println("写入流关闭失败");

}

}

}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值