java字节流
一. 字节输入流:InputStream(抽象类,所有字节输入流的超类)
1.FileInputStream: 文件输入流
FileInputStream fileIS = new FileInputStream(File file); 建立通道
读取数据:
fileIS.read() 从输入流中(只)读取一个数据字节(迭代器效果)
fileIS.read(byte[] b) 传字节数组作为缓冲区 (存数据)
byte[] b = new byte[1024];//一般为1024的次方
int count = 0;
while((count = fileIS.read(b)) != -1){ //循环调用read(),判断是否为-1
System.out.println(new String(b,0,count)); //转字符串
}
fileIS.read(b) //传递后,这样 byte[]中就含有内容,
new String(b); //把字符数组转换为字符串输出
关闭资源:
fileIS.close() 关闭此文件输入流(结尾一定要关闭)
2.FileInputStream使用步骤:
1.找到目标文件
2.创建通道
3.【创建一个缓冲区】
4.读取数据
5.关闭资源
二.字节输出流:OutputStream(抽象类,所有字节输出流的超类)
1.FileOutputStream:文件输出流
FileOutputStream fileOS = new FileOutputStream(File file);
FileOutputStream fileOS = new FileOutputStream(File file,boolean append);
(第二个构造方法,可以在原来基础上追加内容)
fileOS.write();
// 3.创建一个字节数组(不是缓存区)
String string = "Hello World";
byte[] b = string.getBytes(); //把字符串转换为字节数组
// 4.写入数据
fileOS.write(b);
2.FileOutputStream使用步骤
1.找到目标文件
2.创建通道
3.【创建一个字符数组(不是缓冲区)】
4.开始写入数据
5.关闭资源
3.FileOutStream使用注意事项:
1.FileOutputStream写数据时,如果目标文件不存在,会直接创建一个
2.FileOutputStream写数据时,目标文件存在,会先将数据清空,再写入数据
3.FileOutputStream写数据时,如果在原来数据后追加,需要使用FileOutputSteam
(File file,boolean append)构造方法,append如果为true表示可以追加,反之不行。
4.使用FIleOutputStream写数据时,用write(int a)写数据,接收是int,实际上是只有一个字节的数据,只操作低八位,其余24位舍弃
java字节流的更多相关文章
- 使用Java字节流拷贝文件
本文给出使用Java字节流实现文件拷贝的例子 package LearnJava; import java.io.*; public class FileTest { public static vo ...
- java 字节流和字符流的区别 转载
转载自:http://blog.csdn.net/cynhafa/article/details/6882061 java 字节流和字符流的区别 字节流与和字符流的使用非常相似,两者除了操作代码上的不 ...
- java 字节流和字符流的区别
转载自:http://blog.csdn.net/cynhafa/article/details/6882061 java 字节流和字符流的区别 字节流与和字符流的使用非常相似,两者除了操作代码上的不 ...
- Java 字节流实现文件读写操作(InputStream-OutputStream)
Java 字节流实现文件读写操作(InputStream-OutputStream) 备注:字节流比字符流底层,但是效率底下. 字符流地址:http://pengyan5945.iteye.com/b ...
- 关于java字节流的read()方法返回值为int的思考
我们都知道java中io操作分为字节流和字符流,对于字节流,顾名思义是按字节的方式读取数据,所以我们常用字节流来读取二进制流(如图片,音乐 等文件).问题是为什么字节流中定义的read()方法返回值为 ...
- Java进阶(四十五)java 字节流与字符流的区别
java 字节流与字符流的区别(转载) 字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作 ...
- Java字节流实现文件夹的拷贝
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...
- JAVA字节流(读写文件)
InputStream此抽象类是表示字节输入流的所有类的超类.需要定义 InputStream 的子类的应用程序必须始终提供返回下一个输入字节的方法. int available()返回此输入流方法的 ...
- Java字节流read函数
问题引入 做Java作业从标准输入流获取用户输入,用到了System.in.read(),然后出现了bug. //随机生成一个小写字母,用户猜5次,读取用户输入,并判断是否猜对 import java ...
- java字节流和字符流,以及java文件操作
A.首先说字节流:1.字节流在操作的时候不会用到缓冲区(也就是内存)2.字节流可用于任何类型的对象,包括二进制对象3.字节流处理单元为1个字节,操作字节和字节数组.InputStream是所有字节输入 ...
随机推荐
- Collection和Collections的区别
Collection 是集合类的上级接口,继承它的接口主要有set和list.Collections 是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索,排序,线程安全化等操作.
- BT5升级MSF至Git更新的方法
由于Kali在虚拟机的运行效率实在让人不敢恭维,于是决心将BT5中的MSF进行升级,升级的主要目的是,BT5R3内置的MSF是用SVN进行更新, 但是新版本的MSF已经停止通过SVN更新,改用Git, ...
- POJ1269+直线相交
求相交点 /* 线段相交模板:判相交.求交点 */ #include<stdio.h> #include<string.h> #include<stdlib.h> ...
- 小心loadrunner成为瓶颈
最近在测试中发现一个问题,某些时候用进程跑场景的时候tps死活上不去,而用同样数量的线程跑的时候,TPS开始很高,然后很快的跌倒谷底.当遇到这个问题的时候往往就是loadrunner成为瓶颈了! 解决 ...
- UVA 10801 Lift Hopping
算是一道需要动脑筋的最短路问题了,关键在于建图部分,对于n个电梯中每一个都要经过cnt个楼层,a[0],a[1],a[2],a[3],a[4],......a[cnt-1],那么对于任意两个楼层a[j ...
- grab jpegs from v4l2 devices
某些平台下opencv不能直接直接支持摄像头获取图片或视频,这是需要使用v4l2(video for linux 2) 测试v4l2是否可以读到摄像头的内容,最简单的办法就是读取一张截图. v4l2g ...
- SPRING IN ACTION 第4版笔记-第七章Advanced Spring MVC-004- 处理上传文件
一.用 MultipartFile 1.在html中设置<form enctype="multipart/form-data">及<input type=&quo ...
- ANDROID_MARS学习笔记_S01原始版_009_SQLite
一.代码1.xml(1)activity_main.xml <?xml version="1.0" encoding="utf-8"?> <L ...
- ruby的命名约定
1 局部变量和方法参数以小写字母开头 2 方法名字以小写字母开头 3 全局变量以$开头 4 实例变量以@开头 5 类变量以@@开头 6 常量以大写字母开头 7 类和模块名以大写字母开头
- VM上成功安装mac os x
想必很多人在intel . AMD上安装苹果系统,总会遇到很多问题,今天我就将我成功安装的过程给大家分享一下. 下面是我在VM上安装的步骤: 1. 准备软件 OS X Snow Leopard 10. ...