黑马程序员——字节流

package Excr19;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

/*

字节流 媒体文件

思路:

1.用字节读取流对象和图片关联

2.用字节写入流对象创建一个图片文件用于储存获取到的图片数据

3.通过循环读写,完成数据的储存

4.关闭资源

只是本个磁盘进行拷贝

*/

public class Demo9 {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

FileOutputStream fileOutputStream=null;

FileInputStream fileInputStream=null;

try {

fileOutputStream =new FileOutputStream("C:\\Taylor Swift - You Belong With Me1.mp3");

fileInputStream=new FileInputStream("C:\\Taylor Swift - You Belong With Me.mp3");

byte [] buf=new byte[1024*5];

int len=0;

while ((len=fileInputStream.read(buf))!=-1) {

fileOutputStream.write(buf,0,len);

}

} catch (IOException e ) {

throw new RuntimeException("复制文件失败");

// TODO: handle exception

}

finally{

try{

if(fileInputStream!=null);

fileInputStream.close();

}

catch (IOException e ){

throw new RuntimeException("读取文件失败");

}

}

try{

if(fileInputStream!=null);

fileInputStream.close();

}

catch (IOException e ){

throw new RuntimeException("写入数据失败");

}

}

}

package Excr19;

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.BufferedWriter;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

public class Demo10 {

/**map3的复制:通过缓冲区

* 1.定义数组

* 2.定义指针

* 3.定义计数器

* @param args

* @throws IOException

*/

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

// TODO Auto-generated method stub

long start=System.currentTimeMillis();

copy_1();

long end=System.currentTimeMillis();

System.out.println((end-start)+"毫秒");

}

//通过字节流的缓冲区完成复制

public static void copy_1() throws IOException {

BufferedInputStream bufferedInputStream=new BufferedInputStream(new FileInputStream("C:\\Taylor Swift - Love Story.mp3"));

BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(new FileOutputStream("D:\\Taylor Swift - Love Story1.mp3"));

int by=0;

while ((by=bufferedInputStream.read())!=-1) {

bufferedOutputStream.write(by);

}

bufferedOutputStream.close();

bufferedInputStream.close();

}

}

package Excr19;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

public class Demo13 {

/**

* @param args

* @throws IOException

*/

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

// TODO Auto-generated method stub

//获取键盘录入对象

InputStream inputStream=System.in;

//将字节流对象转成字符流对象,使用转换率,inputStreamReader

InputStreamReader inputStreamReader=new InputStreamReader(inputStream);

//为了提高效率,将字符流串进行缓冲区技术高效操作,使用BufferedReader

BufferedReader bufferedReader=new BufferedReader(inputStreamReader);

String lineString=null;

while ((lineString=bufferedReader.readLine())!=null) {

if ("over".equals(lineString)) {

break;

}

System.out.println(lineString.toUpperCase());

}

bufferedReader.close();

}

}

package Excr19;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.io.OutputStreamWriter;

public class Demo14 {

/**

* 字符转字节

* 录得时候是字符,但是存的时候是字节

* @param args

* @throws IOException

*/

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

// TODO Auto-generated method stub

InputStream inputStream=System.in;

InputStreamReader inputStreamReader=new InputStreamReader(inputStream);

OutputStream out=System.out;

BufferedReader bufferedReader=new BufferedReader(inputStreamReader);

OutputStreamWriter outputStreamWriter=new OutputStreamWriter(out);

BufferedReader bufferedReader2=new BufferedReader(outputStreamWriter);

String lineString=null;

while((lineString=bufferedReader.readLine())!=null){

if ("over".equals(lineString)) {

break;

outputStreamWriter.write(lineString.toUpperCase()+"\r\n");

outputStreamWriter.flush();

}

}

bufferedReader.close();

}

}

详情请查看:http://edu.csdn.net/heima

时间: 2024-08-20 20:30:47

黑马程序员——字节流的相关文章

黑马程序员——Java基础--IO流(一)---字符流和字节流

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.IO流的介绍及体系 IO流用来处理设备之间的数据传输.java对数据的操作是通过流的方式.java用于操作流的对象都在IO包中. 输入流和输出流相对于内存设备而言:将外设中的数据读取到内存中:输入.将内存中的数据写出到外设中:输出. 流按照操作数据分为两种:字节流和字符流. 字符流的由来:其实就是字节流读取文字字节数据后,不直接操作而是先查指定的编码表,获取对应的文字,再对这个文字进行操作

黑马程序员——Java基础---IO(下)

黑马程序员——Java基础---IO(下) ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java除了基本的字节流.字符流之外,还提供了File类.properties类.打印流.序列流等和输入输出相关的类,它们能够帮助我们更好的处理信息.下面将对它们进行简单的介绍. 一.正

黑马程序员_关于黑马java班入学测试技术分享-后五(二)

??????????????????????????????????????????????????????????????????????????-----Java培训.Android培训.iOS培训..Net培训.期待与您交流! 作为本人首篇黑马技术博客有必要交代一下背景.个人理解博客的用作在于于己在于交流,于他在于学习,在交流学习中共同成长.下面进入正题.本文主要是介绍在做黑马入门测试时的一些问题(这个应该不是泄露题库吧). 本文只要是讲述黑马程序员基础测试题的6-10题,回过头来分析明显

黑马程序员——I/O流基础知识

I/O流 Io流 代表有能力产生数据的数据源对象或者有能力接收对象的数据接收端对象.字节流和字符流.中文字符也转编码表,jbk2万多中文字.unicode全世界的字符收录.乱码,两种不同形式的编码表.字符流里面的对象融合了编码表,以便别人使用的使用用你指定的编码方式. 基类:读和写~ 字节流 InputStream,OutputStream 字符流 Reader,Writer Writer 主力方法是writer().既然IO流是操作数据的,而数据的最常见体现形式是:文件. 需求:准备在硬盘上创

黑马程序员——Java I/O流基础知识点(File类)

File工具 File类就是用俩将文件或者文件夹封装对象,弥补流对象的不足--流只能操作数据,不能操作文件夹的 封装的是路径!!! 构造方法演示 1.可以将已有的未出现的文件或者文件夹封装成对象. File f1=new File("c:\\abc\\a.txt"): File f2=new File("d:\\abc","ab.txt"打印,会打印路径.:目录分隔符,为了更好地跨平台File. File类常见功能 1,创建 createNewF

黑马程序员——IO篇

------- android培训.java培训.期待与您交流! ---------- IO(Input Output)流 1.IO流用来处理设备之间的数据传输 2.Java对数据的操作是通过流的方式 3.Java用于操作流的对象都在IO包中 4.流按操作数据分为两种:字节流与字符流 . 字符流的数据字节流其实都能处理,因为无论什么在计算机上最后都是以字节存在的,但是其中有一部分数据它是以文本形式存在的,所以为了方便有了字符流,字符流里融合了编码表,而只有文字用到了编码表,所以字符流用来处理文本

黑马程序员_IO流1

异常1.异常的继承体系: java.lang.Throwable类,所有异常和错误的父类 Error类所有错误的父类 Exception类所有异常的父类 RuntimeException NullPointerException ClassCastException IndexOutOfBoundsException 错误,比较严重的问题,一旦出现了错误,程序根本不能运行,必须修改源代码. 异常,比较轻微的问题,一旦出现了异常,程序可以处理掉异常,继续运行.异常一般是程序的最后一个问题. 2.T

黑马程序员_IO流2

File类 1.File类 不属于流对象.作用:将机器上的路径和目录封装成一个File对象,提供了很多的方法和成员变量,让我们操作目录和路径   目录就是文件夹.路径,指由文件夹组成的到达文件夹的通道. 2.File类的静态成员变量   一共提供的4个变量,掌握的只有2个,跨平台 static String separator  结果\ Windows目录分隔符  Linux下 / static String pathSeparator 结果 ; Windows下的路径与路径之间的分隔符 Lin

黑马程序员——Java I/O基础知识之I/O流

I/O流基础知识--字节流和字符流 文件存储在硬盘中,是以二进制表示的,只有内存中才能形成字符.数据的来源可以有硬盘,内存,控制台,网络,Java把数据从一个地方转到另一个地方的现象称为流,用InputStream和OutputStream接口来表示,这两个流里面的都是以字节为单位的,后来加入了Reader和Writer,里面操作的是字符,是两个字节为单位的. 字节流 字节流将数据写入文件 try { File file =new File("d:" +File .separator+