黑马程序员—java基础_IO流—字节流
2015-05-08 15:15
471 查看
-------
android培训、java培训、期待与您交流! ----------
1.字节流:InputStream
OutputStream;字节流可以操作图片、音乐视频等
复制一个图片:
通过缓冲去复制MP3
System.out:对应的标准输出设备控制台
System.in:对应的是标准输入设备键盘:InputStream in = System.in;键盘输入流
3.字符流与字节流之间的转换
InputStreamReader:是字节流通向字符流的桥梁,它使指定的读取字节并将其解码为字符。
OutputStreamWriter:是字符流通向字节流的桥梁,使将要写入流中的字符编码成字节。
InputStream in=System.in获取键盘的录入对象
InputStreamReader isr=new InputStreamReader(in)将字节流对象转换成字符流对象
BufferedReader bufr=new BufferedReader(isr);将字符串进行缓冲区技术的高效操作
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in))键盘的常见写法,以上3句的简写
OutputStream out=System.out
OutputStreamWriter osw=new OutputStreamWriter(out);
BufferedWriter bufw=new BufferedWriter(osw);
BufferedWriter bufw=new BufferedWriter(new OutputStreamWriter(System.out));
练习:键盘录入一行数据并打印其大写
android培训、java培训、期待与您交流! ----------
1.字节流:InputStream
OutputStream;字节流可以操作图片、音乐视频等
复制一个图片:
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class CopyPic { /** * 复制一个图片 * 1,用字节读取流对象和图片关联。 * 2,用字节写入流对象创建一个图片文件。用于存储获取到的图片数据。 * 3,通过循环读写,完成数据的存储。 * 4,关闭资源。 * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub FileOutputStream fos = null; FileInputStream fis = null; try { fos = new FileOutputStream("c:\\2.bmp");//创建一个图片输出字节流并与文件相关联 fis = new FileInputStream("c:\\1.bmp");//创建一个图片读取字节流并与文件相关联 //创建一个数组用于存储字节流 byte[] buf = new byte[1024]; int len = 0; while((len=fis.read(buf))!=-1)//循环读取图片字节流 { fos.write(buf,0,len);//写入到输出流 } } catch (IOException e) { throw new RuntimeException("复制文件失败"); } finally { try { if(fis!=null) fis.close(); } catch (IOException e) { throw new RuntimeException("读取关闭失败"); } try { if(fos!=null) fos.close(); } catch (IOException e) { throw new RuntimeException("写入关闭失败"); } } } }
通过缓冲去复制MP3
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class CopyMp3 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub BufferedInputStream bufis = null; BufferedOutputStream bufos = null; try { //创建两个缓冲区一个读一个写并与文件相关联 bufis=new BufferedInputStream(new FileInputStream("c:\\2.mp3")); bufos=new BufferedOutputStream(new FileOutputStream("c:\\1.mp3")); int by=0; while((by=bufis.read())!=-1) { bufos.write(by);//将读取的字符写入缓冲区 } } catch(IOException e) { throw new RuntimeException("复制失败"); } finally { try { if(bufos!=null) bufos.close(); } catch(IOException e) { throw new RuntimeException("写入关闭失败"); } try { if(bufis!=null) bufis.close(); } catch(IOException e) { throw new RuntimeException("读取关闭失败"); } } } }2.读取键盘录入:
System.out:对应的标准输出设备控制台
System.in:对应的是标准输入设备键盘:InputStream in = System.in;键盘输入流
3.字符流与字节流之间的转换
InputStreamReader:是字节流通向字符流的桥梁,它使指定的读取字节并将其解码为字符。
OutputStreamWriter:是字符流通向字节流的桥梁,使将要写入流中的字符编码成字节。
InputStream in=System.in获取键盘的录入对象
InputStreamReader isr=new InputStreamReader(in)将字节流对象转换成字符流对象
BufferedReader bufr=new BufferedReader(isr);将字符串进行缓冲区技术的高效操作
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in))键盘的常见写法,以上3句的简写
OutputStream out=System.out
OutputStreamWriter osw=new OutputStreamWriter(out);
BufferedWriter bufw=new BufferedWriter(osw);
BufferedWriter bufw=new BufferedWriter(new OutputStreamWriter(System.out));
练习:键盘录入一行数据并打印其大写
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class TransStreamDemo { /** * 键盘录入一行数据并打印其大写:读一行 * readLine方法是字符流BufferedReader的方法 * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //键盘的最常见写法。 BufferedReader bufr = null; BufferedWriter bufw = null; try {
<span style="white-space:pre"> </span> bufr=new BufferedReader(new InputStreamReader(System.in));//将InputStream转换成BufferedReader,可以用readLine方法读一行 bufw=new BufferedWriter(new OutputStreamWriter(System.out));//将OutputStream转换成BufferedWriter,可以用newLine方法换行。 String line = null; while((line=bufr.readLine())!=null)//读一行的操作 { if("over".equals(line)) break; bufw.write(line.toUpperCase());//转换成大写输出 bufw.newLine();//换行符 bufw.flush(); } } catch(IOException e) { throw new RuntimeException("运行失败"); } finally { try { if(bufr!=null) bufr.close(); } catch(IOException e) { throw new RuntimeException("输入关闭失败"); } try { if(bufw!=null) bufw.close(); } catch(IOException e) { throw new RuntimeException("输出关闭失败"); } } } }
相关文章推荐
- 黑马程序员--java 基础之IO流 字节流与转换流 --07
- 黑马程序员-java基础-IO流中的字节流和字符流
- 黑马程序员——JAVA基础------IO流(二)----字节流
- 黑马程序员——JAVA基础之IO流缓冲区,转换流,字节流
- 黑马程序员——Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
- 黑马程序员--Java基础学习之IO流之字节流、字符流、读取写入文件、Copy文件、键盘输入输出、流操作的基本规律
- 黑马程序员 Java基础之IO流字节流
- 黑马程序员——Java基础---IO流概述、字符流、字节流、流操作规律
- 黑马程序员——Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
- 黑马程序员java基础之IO流中的字节流
- 黑马程序员-JAVA基础-IO流之字节流和字节流缓冲区
- 黑马程序员——Java基础---IO流(字节流)
- 黑马程序员——Java基础——IO流、字符流、字节流、缓冲区技术、装饰设计模式、LineNumberReader等
- 黑马程序员——Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
- 黑马程序员——Java基础------IO流之字符流、字节流和缓冲区。
- 黑马程序员—Java基础—IO流—字节流
- 黑马程序员_Java基础_IO流_字节流,字节流操作文件,缓冲区字节流,流的使用规律,异常记录原理
- 黑马程序员--Java基础学习笔记【IO流-字节流、转换流】
- 黑马程序员——Java基础IO流概述、字符流、字节流、流操作规律、File类、Properties类、打印流、序列流
- 黑马程序员_Java基础_IO流(字符流缓冲区和字节流相关操作以及相关操作技巧)