I/O 实际上是input和output,也就是输入和输出。而流其实是一种抽象 的概念,它表示的是数据的无结构化传递
在Java中I/O流操作的类很多,但是核心体系实际上就只有File、 InputStream、OutputStream、Reader、Writer
字节流:操作的数据单元是8位的字节。InputStream、OutputStream 作为抽象基类。
字符流:操作的数据单元是字符。以Writer、Reader作为抽象基类。
package demo;
import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.net.Socket;
public class IoTest {
public static void main(String[] args) {
//内存
String str = "hello world";
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(str.getBytes());
int i = 0;
while ((i=byteArrayInputStream.read())!=-1){//read()返回-1则表示已读完
System.out.print((char) i);
}
}
}
我在H盘放了个文本文档 内容为:这是测试文件
根据parent抽象路径名和child路径名字符串创建一个新的File实例
将指定路径名转化为抽象路径名创建一个新的File实例
根据parent路径名和child路径名创建一个File实例
指定URI转化为抽象路径名