本帖最后由 默默呜呜 于 2019-2-21 11:11 编辑
java基础篇---I/O技术(一) 流的方向: 输入流:数据源到程序(inputStream,Reader读进来)
输出流:程序到目的地(OutPutStream,Writer写出去)
处理数据单元:
字节流:按照字节读取数据(InputStream,OutputStream)
字符流:按照字符读取数据(Reader,Writer)
功能不同:
节点流:直接从数据源或目的地读写数据
处理流:不直接连接到数据源或目的地,是处理流的流,童工对其他流的处理提高程序的性能。 |
Jdk提供的流继承了四大类:
InputStream(字节输入流)
OutputStream(字节输出流)
Reader(字符输入流)
Writer(字符输出流) |
抽象类java.io.InputStream是所有字节输入流类型的父类,该类中定义了以字节为单位读取数据的基本方法,并在其子类中进行了分化和实现.
三个基本的read方法: int read()
int read(byte[] buffer)
int read(byte[] buffer,int offset,int length)
其他方法: void close() int available() skip(long n) boolean markSupported() |
[Java] 纯文本查看 复制代码 import java.io.File ;
import java.io.InputStream ;
import java.io.FileInputStream ;
public class InputStreamDemo{
public static void main(String args[]) throws Exception{ // 异常抛出,不处理
// 第1步、使用File类找到一个文件
File f= new File("d:" + File.separator + "test.txt") ; // 声明File对象
// 第2步、通过子类实例化父类对象
InputStream input = null ; // 准备好一个输入的对象
input = new FileInputStream(f) ; // 通过对象多态性,进行实例化
// 第3步、进行读操作
byte b[] = new byte[1024] ; // 数组大小由文件决定
int len = 0 ;
int temp = 0 ; // 接收每一个读取进来的数据
while((temp=input.read())!=-1){
// 表示还有内容,文件没有读完
b[len] = (byte)temp ;
len++ ;
}
// 第4步、关闭输出流
input.close() ; // 关闭输出流\
System.out.println("内容为:" + new String(b,0,len)) ; // 把byte数组变为字符串输出
}
}; |
java.io.OutputStream与java.io.InputStream对应,是所有字节输出流类型的抽象父类。
三个基本的write方法: void write(int c)
void write(byte[] buffer)
void write(byte[] buffer,int offset,int length)
其他方法: void close()
void flush() |
[Java] 纯文本查看 复制代码 import java.io.File ;
import java.io.OutputStream ;
import java.io.FileOutputStream ;
public class OutputStreamDemo{
public static void main(String args[]) throws Exception{ // 异常抛出,不处理
// 第1步、使用File类找到一个文件
File f= new File("d:" + File.separator + "test.txt") ; // 声明File对象
// 第2步、通过子类实例化父类对象
OutputStream out = null ; // 准备好一个输出的对象
out = new FileOutputStream(f) ; // 实例化
// 第3步、进行写操作
String str = "Hello World!!!" ; // 准备一个字符串
byte b[] = str.getBytes() ; // 只能输出byte数组,所以将字符串变为byte数组
out.write(b) ; // 写入数据
// 第4步、关闭输出流
// out.close() ; // 关闭输出流
}
}; |
|
|