javaIO(二)】的更多相关文章

在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据时要使用输入流读取数据,而当程序需要将一些数据保存起来时,就要使用输出流. 在java.io包中流的操作主要有字节流.字符流两大类,两类都有输入和输出操作. 在字节流中输出数据主要使用OutputStream类完成,输入使用的是InputStream类. 在字符流中输出主要使用Writer类完成,输入主要使用Reader类完成. 1.字节输出流 import java.io.File; import java.io.FileOutpu…
一.InputStream & outputStream Java字节流主要是以InputStream (输入流),outputStream(输出流)为基类,本身是抽象类不能创建实例,但是是字节流的基类,所以方法都可以使用,主要的方法有 InputStream: int read();读取单个字节 int read(byte[] b); 最多读取b.length 字节存储在字节数组b中,返回读取的字节长度 int read(byte[] b, int start, int len);最多读取le…
功能简介 BufferedReader  从字符输入流中读取文本,内部缓冲各个字符,从而实现字符.数组和行的高效读取 BufferedWriter 将文本写入字符输出流,内部缓冲各个字符,从而提供单个字符.数组和字符串的高效写入   其实本质还是缓冲二字 他们内部都有一个缓冲区,就是一个字符数组 BufferedReader 会尽可能多的将数据读取到自己的缓冲区,然后提供的read方法从缓冲区读取 BufferedWriter 会先将数据写入到自己的内部缓冲区,从而写入的效率将会大大提升,然后批…
  功能简介   PrintWriter   向文本输出流打印对象的格式化表示形式 他与PrintStream的逻辑上功能目的是相同的--他们都想做同一件事情--更便捷的格式化打印输出   PrintWriter实现了PrintStream 中的所有 print 方法,除了那些用于写入原始字节的方法,对于那些字节,程序应该使用未编码的字节流进行写入 PrintStream会在换行符时自动调用自动刷新 PrintWriter在这一点上与PrintWriter不同, 只有在调用 println.pr…
流分类回顾 本文是JavaIO告一段落的总结帖 希望对JavaIO做一个基础性的总结(不涉及NIO) 从实现的角度进行简单的介绍 下面的这两个表格,之前出现过 数据源形式 InputStream OutputStream Reader Writer ByteArray(字节数组) ByteArrayInputStream  ByteArrayOutputStream  无 无 File(文件) FileInputStream  FileOutputStream  FileReader FileW…
一.流的基本概念 在java.io包中,File类是唯一一个与文件本身有关的程序处理类,但是File类只能操作文件本身,而不能操作文件内容,IO操作的核心意义在于输入和输出操作.而对于程序而言,输入和输出可能来自不同的环境:--通过电脑连接服务器上进行浏览的时候,实际上此时客户端发出了一个信息,服务器接收到此信息后作出了回应处理,在整个程序之中,对于服务器以及客服端来说,传递的实质上就是一种数据流的处理形式,而所谓的数据流指的就是字节数据.--而对于这类流的处理形式,在java.io包中提供有两…
File类 文件和目录路径名的抽象表示形式. 我们知道,对于不同的操作系统,文件路径的描述是不同的 比如 windows平台:用\ linux平台:用/   File是Java为了这一概念提供的抽象描述,与系统无关的视图 抽象路径名有两个组件: 1.可选的与系统有关的前缀  字符串   比如盘符,"/" 表示 UNIX 中的根目录,"\\\\" 表示 Microsoft Windows UNC 路径名 2.零个或者多个  字符串  名称 序列   第一个名称是 目录…
功能简介 BufferedInputStream 和 BufferedOutputStream一样,他们都是过滤流 装饰器模式下具体的装饰类 用来装饰InputStream以及OutputStream下的其他的具体的实现类 比如FileInputStream…
功能简介 还记得前面说过的CharArrayReader 和 CharArrayWriter吗? CharArray 是数据源 CharArrayReader 是读,  从一个CharArray 中读取,所以需要一个CharArray,通过构造方法传递 CharArrayWriter  是写, 写入到一个CharArray中去,所以它内部提供了一个CharArray 用来保存数据 StringReader 和 StringWriter 也是类似的道理 String作为数据源 StringRead…
功能介绍 LineNumberReader是提供了行号的具体的装饰器类 跟踪行号的缓冲字符输入流 此类定义了方法 setLineNumber(int) 和 getLineNumber(),它们可分别用于设置和获取当前行号 默认情况下,行编号从 0 开始 该行号随数据读取在每个 行结束符 处递增,并且可以通过调用 setLineNumber(int) 更改行号 但是,setLineNumber(int) 不会实际更改流中的当前位置: 它只更改将由 getLineNumber() 返回的值 有的朋友…