一、InputStream & outputStream

  Java字节流主要是以InputStream (输入流),outputStream(输出流)为基类,本身是抽象类不能创建实例,但是是字节流的基类,所以方法都可以使用,主要的方法有

  InputStream:

 int read();读取单个字节
int read(byte[] b); 最多读取b.length 字节存储在字节数组b中,返回读取的字节长度
int read(byte[] b, int start, int len);最多读取len字节,存放在数组b中,从b数组的第start位置开始存放

  OutputStream:

 void write(int c)
void write(byte[] b) 将b字节数组传入输出流中
void wirte(byte[] b, int start, int len); 将b字节数组中从start开始的len位输出到输出流

二、Reader & Writer

  Java字符流主要是以Reader(输入流) & Writer(输出流)为基类,本身为抽象类,主要提供的方法有:

  Reader:

 int read();读取单个字节
int read(char[] b); 最多读取b.length 字节存储在字节数组b中,返回读取的字节长度
int read(char[] b, int start, int len);最多读取len字节,存放在数组b中,从b数组的第start位置开始存放

  Writer:

 void write(int c)
void write(char[] b) 将b字节数组传入输出流中
void wirte(char[] b, int start, int len); 将b字节数组中从start开始的len位输出到输出流

ps.所有的输入流输出流需要关闭,尤其是字符流,因为字符流是在关闭的时候会将存在缓存中的数据输出/输入。

三、文件流

  Java 文件的操作主要有FileInputStream,FileOutStream,FileReader,FileWriter,其中使用如下

 package JavaLearning.JavaIO;

 import java.io.*;

 /**
* Created by ZLei on 2017/9/8.
*/
public class BaseStreamReaderTest {
public static void main(String[] args) throws IOException{
byte[] bytes = {'1','2'};
byte[] readBytes = new byte[1024];
// 文件字节输出流
FileOutputStream fout = new FileOutputStream("fileOutputStream.txt");
fout.write(bytes);
// 关闭流时,将文件中的缓存输出到文件中。
fout.close(); // 文件字节输入流
FileInputStream fis = new FileInputStream("fileOutputStream.txt");
int hasRead = fis.read(readBytes);
System.out.println(new String(readBytes,0,hasRead));
fis.close(); char[] charArr = {'张','z'};
char[] readArr = new char[127];
// 文件字符输出流
FileWriter fw = new FileWriter("fileWriter.txt");
fw.write(charArr);
fw.close(); // 文件字符输入流
FileReader fr = new FileReader("fileWriter.txt");
int len = fr.read(readArr);
fr.close();
System.out.println(new String(readArr,0,len)); }
}

【Java】JavaIO(二)、节点流的更多相关文章

  1. JAVA的节点流和处理流以及流的关闭顺序

    今天在编写hadoop程序的时候,用到了流的处理.关闭流的时候出现了问题: 代码: FSDataInputStream fsin = fs.open(new Path(filein)); FSData ...

  2. JAVA的节点流和处理流

    节点流:可以从或向一个特定的地方(节点)读写数据.如FileReader. 处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写.如BufferedReader.处理流的构造方 ...

  3. Java IO 节点流 ByteArrayInput/OutputStream

    Java IO 节点流 ByteArrayInput/OutputStream @author ixenos ByteArrayInputStream 包含一个内部缓冲区(字节数组byte[]),该缓 ...

  4. Java基础—IO小结(一)概述与节点流

    一.File类的使用  由于file类是一个基础类,所以我们从file类开始了解.(SE有完善的中文文档,建议阅读) 构造器: 常用方法:——完整方法请参见API API API!!! File做的是 ...

  5. Java-IO中的节点流和处理流

    理解好Java-IO中的节点流和处理流是理解Java输入.输出的关键基础,因此,了解节点流和处理流相关的知识点尤为重要. 1.定义 (1)节点流:可以从或向一个特定的地方(节点)读写数据.如FileR ...

  6. java 节点流(字符流,字节流)和包装流(缓冲流,转换流)

    结点流:直接对File类进行操作的文件流 package stream; import java.io.File; import java.io.FileNotFoundException; impo ...

  7. Java IO 节点流 FileInput/OutputStream

    Java IO 节点流 FileInput/OutputStream @author ixenos 节点流之 文件流 文件读写是最常见的I/O操作,通过文件流来连接磁盘文件,读写文件内容 1.文件的读 ...

  8. java io 节点流和处理流

    JAVA IO操作总结:节点流和处理流 JAVA IO操作总结--节点流和处理流  按照流是否直接与特定的地方(如磁盘.内存.设备等)相连,分为节点流和处理流两类. 节点流:可以从或向一个特定的地方( ...

  9. Java中的IO流(二)

    上一篇<Java中的IO流(一)>把学习IO流的字符流作了一下记录,本篇把字节流记录一下. 一,Java中的字节流 Java中的字节流的操作方式与字符流的操作方式大致相同,连方法名都是类似 ...

  10. java基础之IO流(二)之字符流

    java基础之IO流(二)之字符流 字符流,顾名思义,它是以字符为数据处理单元的流对象,那么字符流和字节流之间的关系又是如何呢? 字符流可以理解为是字节流+字符编码集额一种封装与抽象,专门设计用来读写 ...

随机推荐

  1. .NET : Func委托和Action委托

    其实他们两个都是委托[代理]的简写形式. 一.[action<>]指定那些只有输入参数,没有返回值的委托 Delegate的代码: public delegate void myDeleg ...

  2. asp.net后台正则表达式验证手机号码邮箱

    //如果文本中可以为空的为NO,文本中内容不为空 if (input.nullable == "no" || !isnull(input.value)) { //文本中值的类型 s ...

  3. bzoj 1288: Neighbours

    Description 很久以前, 有一个小小的国度, 为了方便, 我们可以把它想象为一个大大的矩形, 矩形的左下角为(0, 0), 右上角为(w, h), 共有(w + 1) * (h + 1)个整 ...

  4. maven学习(4)-Maven 构建Web 项目

    紧接着上一节(3),现在maven新建web项目,user-web.模拟一个用户登录的需求: 工程结构: pom.xml: <project xmlns="http://maven.a ...

  5. Bezier画线算法

    编译器:VS2013 描述:Bezier画线是利用导数相同拼接曲线,使曲线十分光滑,而不是随意拼接观赏性很差 主函数段 #include "stdafx.h" #include&l ...

  6. [转]LAMP(Linux-Apache-MySQL-PHP)网站架构

    本文转自 http://www.williamlong.info/archives/1908.html LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框 ...

  7. Centos 6.5 升级python到版本2.7.12

    查看python版本: python --version 1.下载Python-2.7.12 wget https://www.python.org/ftp/python/2.7.12/Python- ...

  8. 终端直接执行py文件,不需要python命令

    然后给脚本文件运行权限,方法(1)chmod +x ./*.py方法(2)chmod 755 ./*.py (777也无所谓啦) 这个命令不去调整,会出现permission denied的错误终端直 ...

  9. Solr Web增加Basic安全性验证

      Solr在5.0版本后,不再提供war包部署的方式,取而代之的是内置了jetty服务,   但是我们发现其中并没有内置任何安全性相关检查,任何人如果知道了我们的外网地址就能直接访问并修改其中的索引 ...

  10. collections模块---(namedtuple、deque、OrderdDict、defaultdict、Counter)和configparser模块

    在内置数据类型(dict. list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter. deque.defaultdict.namedtuple 和 ...