java字节流

时间:2022-09-19 10:35:09

一. 字节输入流: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字节流的更多相关文章

  1. 使用Java字节流拷贝文件

    本文给出使用Java字节流实现文件拷贝的例子 package LearnJava; import java.io.*; public class FileTest { public static vo ...

  2. java 字节流和字符流的区别 转载

    转载自:http://blog.csdn.net/cynhafa/article/details/6882061 java 字节流和字符流的区别 字节流与和字符流的使用非常相似,两者除了操作代码上的不 ...

  3. java 字节流和字符流的区别

    转载自:http://blog.csdn.net/cynhafa/article/details/6882061 java 字节流和字符流的区别 字节流与和字符流的使用非常相似,两者除了操作代码上的不 ...

  4. Java 字节流实现文件读写操作(InputStream-OutputStream)

    Java 字节流实现文件读写操作(InputStream-OutputStream) 备注:字节流比字符流底层,但是效率底下. 字符流地址:http://pengyan5945.iteye.com/b ...

  5. 关于java字节流的read()方法返回值为int的思考

    我们都知道java中io操作分为字节流和字符流,对于字节流,顾名思义是按字节的方式读取数据,所以我们常用字节流来读取二进制流(如图片,音乐 等文件).问题是为什么字节流中定义的read()方法返回值为 ...

  6. Java进阶(四十五)java 字节流与字符流的区别

    java 字节流与字符流的区别(转载)   字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?   实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作 ...

  7. Java字节流实现文件夹的拷贝

    import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...

  8. JAVA字节流(读写文件)

    InputStream此抽象类是表示字节输入流的所有类的超类.需要定义 InputStream 的子类的应用程序必须始终提供返回下一个输入字节的方法. int available()返回此输入流方法的 ...

  9. Java字节流read函数

    问题引入 做Java作业从标准输入流获取用户输入,用到了System.in.read(),然后出现了bug. //随机生成一个小写字母,用户猜5次,读取用户输入,并判断是否猜对 import java ...

  10. java 字节流与字符流的区别

    字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作 ...

随机推荐

  1. BZOJ 4569 萌萌哒

    题目传送门 4569: [Scoi2016]萌萌哒 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 483 Solved: 221 [Submit][S ...

  2. 第一次部署Struts2时出现错误java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.class

    报如下错误 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720) at org. ...

  3. C# TimeSpan 计算时间差(时间间隔)

    命名空间:System 程序集:mscorlib(在 mscorlib.dll 中) 说明: 1.DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点 ...

  4. MVVM架构~knockoutjs系列之包括区域级联列表的增删改

    返回目录 这个例子我做了几次,之前总是有BUG,目前测试后,确定没有BUG才发上来的,主要功能是实现“我的银行”模块的增删改的功能,这个里面包括了级联列表的区域选择,这部分是难点,在开发过程中,我们应 ...

  5. 在MAC系统上进行屏幕录制

    最近打算将一些软件操作过程进行屏幕录制进行视频分享,所以寻思着找一块能在MAC上使用的屏幕录制软件.google了一番,没想到MAC系统自带的QuickTime Player已经内置屏幕录像功能,而且 ...

  6. http & json

    TCP(传输层协议) (1) 面向连接  (2) 可靠的  (3) 基于字节流的   连接建立阶段: 客户端 ------->SYN                 服务端(服务器被动打开) 客 ...

  7. springMVC源码笔记

    springMVC 设计总览 下图来源:https://www.cnblogs.com/fangjian0423/p/springMVC-directory-summary.html 下图来源:htt ...

  8. 二分求幂/快速幂取模运算——root(N,k)

    二分求幂 int getMi(int a,int b) { ; ) { //当二进制位k位为1时,需要累乘a的2^k次方,然后用ans保存 == ) { ans *= a; } a *= a; b / ...

  9. RGB24转YUV420

    BOOL RGB2YUV(LPBYTE RgbBuf, UINT nWidth, UINT nHeight, LPBYTE yuvBuf, unsigned long *len) { if (RgbB ...

  10. Android Studio经常使用配置及使用技巧(二)

    在<Android Studio经常使用配置及使用技巧(一)>中具体描写叙述了Android Studio的project结构和打开开源project的一些配置方法.本篇将从我个人的使用情 ...