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

来源:互联网 发布:ubuntu怎么配置输入法 编辑:程序博客网 时间:2024/05/16 11:57

---------------------- ASP.Net+Unity开发.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("写入流关闭失败");

}

}

}

}

}


---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

0 0
原创粉丝点击