流和文件
任何程序都是要有输入输出的
一个程序,及不从用户哪里读点什么,也不往用户哪里输出什么,哪怕是放在服务后台运行的程序,也是要接受网上客户端的连接,接收客户端发来的请求,每一个数据都有一定的方式去做输入和输出
流是什么
“流”是一个抽象的概念,它是对输入输出设备的一种抽象理解,在java中,对数据的输入输出操作都是以“流”的方式进行的。“流”具有方向性,输入流、输出流是相对的。当程序需要从数据源中读入数据的时候就会开启一个输入流,相反,写出数据到某个数据源目的地的时候也会开启一个输出流。数据源可以是文件、内存或者网络等。
流的分类
流”序列中的数据可以是未经加工的原始二进制数据,也可以是经过一定编码处理后符合某种格式的特定数据,因此java中的“流”分为两种流:
1) 字节流:数据流中的最小的数据单元是字节,一次读入读出8位二进制;
2) 字符流:数据流中的最小的数据单元是字符,一次读入读出16位二进制,java中的字符是Unicode编码,一个字符占用两个字节。
流是输入输出的方式
流是一维单向的
一维:需要一个数字表达
二维:需要两个
流的基础类
inputStream
OutputStream
文件流
FileinputStream
FileOutputStream
对文件作读写操作
实际工程中已经较少使用
更常用的是以在内存数据或者通信网络数据上建立的流,如数据库的二级制数据读写或者网络端口通信
具体的文件读写写往往有专业的类,比如配置文件和日志文件