BufferedInputSream和BufferedOutputSream,,,
package cd.itcast.bufferinputstream; import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException; /**
* 缓冲输入字符流
* @author Administrator
*
*/
public class Demo1 {
public static void main(String[] args) throws IOException {
//找到目标
File file = new File("E:\\a.txt");
//建立输入通道
FileInputStream fileInputStream = new FileInputStream(file);
//建立缓冲输入字节流
//fileInputStream具有读写文件的能力,bufferiInputStream没有。
BufferedInputStream bufferInputStream = new BufferedInputStream(fileInputStream);
//读取文件
int content=0;
while ((content = bufferInputStream.read())!=-1) {
System.out.print((char)content);
}
//关闭资源,关闭bufferInputStream,就是关闭fileInputStream
bufferInputStream.close();
}
}
2、
package cd.itcast.bufferinputstream; import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/*
* 1、使用BufferedOutputStream写数据的时候,他的write()方法是先把数据写到它内部维护的字节数组中。
* 2、使用BufferedOutputStream写数据的时候,如果需要把数据写到硬盘上,需要调用flush()方法,或者是close()方法,或者是内部维护的字节数组已经填满的时候。
*/
public class BufferOutputStream {
public static void main(String[] args) throws IOException {
//找到目标文件
File file = new File("E:\\a.txt");
//建立数据通道
FileOutputStream fileOutputStream = new FileOutputStream(file);
//建立缓冲输出字节流对象
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
//数据写出,此时写到内存里了
bufferedOutputStream.write("hello word!".getBytes());
//写出数据到硬盘bufferedOutputStream.flush()或者Close();
bufferedOutputStream.close();
}
}
3、复制图片
package cd.itcast.bufferinputstream; import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; public class CopyTu {
public static void main(String[] args) throws IOException {
File infile = new File("E:\\图片\\1.jpg");
File desFile = new File("E:\\1.jpg"); FileInputStream fileInputStream = new FileInputStream(infile);
FileOutputStream fileOutputStream = new FileOutputStream(desFile); BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
//read()中如果传入了缓冲数组,则内容是存储到数组中的,返回值是存储到数组中的字节个数。
//read()如果没有传入缓冲数组,那么返回值是读取到的内容。
int content=0;
//边读边写
while ((content=bufferedInputStream.read())!=-1) {
bufferedOutputStream.write(content);
//bufferedOutputStream.flush();不要刷,写一个字节,一刷,这样就没意义啦
}
/*执行close()的时候,执行了flush().
* public void close() throws IOException {
try {
flush();
} catch (IOException ignored) {
}
out.close();
}*/
bufferedOutputStream.close();
bufferedInputStream.close();
}
}
BufferedInputSream和BufferedOutputSream,,,的更多相关文章
- Java学习日记之 Java-IO流
Java中的IO流在处理上分为字节流和字符流.字节流和字符流的区别 : 1.字节流读取的时候,读到一个字节就返回一个字节: 字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,在UTF-8 ...
- 第八章I/O
一.File的使用 ①.new File(String fileName);的意义 ②.获取当前文件夹下的所有文件 ③.获取当前文件夹时候过滤掉不许要的文件夹 ④.创建File文件,了解mkDir() ...
- JDK源码阅读(1)_简介+ java.io
1.简介 针对这一个版块,主要做一个java8的源码阅读笔记.会对一些在javaWeb中应用比较广泛的java包进行精读,附上注释.对于容易混淆的知识点给出相应的对比分析. 精读的源码顺序主要如下: ...
- 100道Java基础面试题收集整理(附答案)
不积跬步无以至千里,这里会不断收集和更新Java基础相关的面试题,目前已收集100题. 1.什么是B/S架构?什么是C/S架构 B/S(Browser/Server),浏览器/服务器程序 C/S(Cl ...
- 100道Java基础面试题
1.什么是B/S架构?什么是C/S架构 B/S(Browser/Server),浏览器/服务器程序 C/S(Client/Server),客户端/服务端,桌面应用程序 2.你所知道网络协议有那些? H ...
- Java面试题收集以及参考答案(100道)
不积跬步无以至千里,这里会不断收集和更新Java基础相关的面试题,目前已收集100题. 1.什么是B/S架构?什么是C/S架构 B/S(Browser/Server),浏览器/服务器程序 C/S(Cl ...
- javaIO--数据流之IO流与字节流
0.IO流 0.1.IO(Input Output)流的概念 Java中将不同设备之间的数据传输抽象为“流”:Stream设备指的是:磁盘上的文件,网络连接,另一个主机等等 按流向分:输入流,输出流: ...
- java_缓冲流(字节输入流)
/** * java.iko.BufferedInputStream extends InputStream * BufferedInputStream:字节缓冲输入流 * 构造方法: * Buffe ...
- java_缓冲流(字节输出流)
缓冲流分为: 字节缓冲流:BufferedIntputSream(字节缓冲输出流),BufferdOutputStream(字节缓冲输入流) 字符缓冲流:BufferedReader(字符输入缓冲流) ...
随机推荐
- NYOJ 51-管闲事的小明
点击打开链接 管闲事的小明 时间限制:4000 ms | 内存限制:65535 KB 难度:2 描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数 ...
- 常用正规js
1,得到网页上的链接地址: string matchString = @"<a[^>]+href=\s*(?:'(?<href>[^']+)'|"" ...
- php array函数实例应用
array_diff_key() array_diff_assoc() array_count_values() array_combine() array_column() array_chunk( ...
- Loadrunner性能指标分析
Transactions(用户事务分析)----用户事务分析是站在用户角度进行的基础性能分析. Transation Sunmmary(事务综述)----对事务进行综合分析是性能分析的第一步,通过分析 ...
- 《FPGA全程进阶---实战演练》第二十一章 电源常用类型:LDO和 DCDC
高速电路中的电源设计 高速电路中的电源设计大概分为两种,一种是集总式架构,一种是分布式架构.集总式架构就是由一个电源输入,然后生成多种所需要的电压.如图1所示.这种架构会增加多个DC/DC模块,这样成 ...
- Django中级篇之模板语言
模板 一.引用变量 模版的创建过程,对于模版,其实就是读取模版(其中嵌套着模版标签),然后将 Model 中获取的数据插入到模版中,最后将信息返回给用户. {{ xxx }} 二.标签 用{% %} ...
- ionic cordova file download and load
1.先添加插件 cordova plugin add org.apache.cordova.file cordova plugin add org.apache.cordova.file-transf ...
- C# 加密算法
public static class Common { #region MD5加密 /// <summary> /// M ...
- [转]常用电器认证标志 && 手机频段
一个手电筒就可以算得上一件家用电器的时代已经过去了,现在,谁家里不得有个几件?大家肯定看到了这些电器上贴的各种各样的认证标志了吧?看的人是眼花缭乱,目不暇接,更有一些是“洋认证”.下面罗列出一些常见的 ...
- Loadrunner:安装LR11.0破解步骤及License
破解步骤: 1.关闭LR相关程序 2.运行LicenseDelete程序,清除LR原来的License 3.将lm70.dll和mlr5lprg.dll这两个文件复制并粘贴到LR安装目录下的bin文件 ...