流分类(部分)

来源:互联网 发布:德邦数据分析招聘信息 编辑:程序博客网 时间:2024/06/08 20:18

一、字节流
FIle类:
createNewFile() :创建文件 mkdir():创建文件夹
Io分类:
A.字节流 :inputStream outputStream 输入|输出流
FileInputStream(String path) FileInputStream(File file)
FileOutputStream
B.字符流: Reader Writer
A.节点流:直接与文件交互的流
B.处理流:直接与流交互的流
C.转换流:InputStreamReader (字节——》字符) outputStreamWriter
共同方法:read write
当操作文件比较到大时,考虑使用字节缓存流。
缓存流:在原来基础上添加了一些功能。
BufferedInputStream BufferedOutputStream
示例:
// 创建输入流
FileInputStream fis = new FileInputStream(“E:\File\a.txt”);
BufferedInputStream bis = new BufferedInputStream(fis);

            //创建输出流            FileOutputStream fos=new FileOutputStream("E:\\File\\复制\\a.txt");            BufferedOutputStream bos=new BufferedOutputStream(fos);            //操作流;进行读写            int len=0;            byte[] b=new byte[1024];            while((len=bis.read(b))!=-1){                    bos.write(b,0,len);                    bos.flush();//刷新是把缓存内容到内存中 及时清空缓存            }            System.out.println("复制完毕");            //关闭流            bos.close();            bis.close();

read():每次只读取一个字节
read(byte b[]):直接将读取数据存放于数组b中
read(b,0,4):每次向byte数据b中读取4个,0表示其实位置。
Writer与此类似。
二、字符流
字符流:仅仅适用于文字相关内容,单位是char
构造方法:
FileWriter(File file) FileWriter(String str)
字符缓存流:
BufferedReader BufferedWriter
可以读行:
String line=null;
while((line=bufReader.readLine())!=null)
{
bufWriter.write(line);
}
newLine(): 写入一个换行符 等同于\r\n
StringReader(String s):创建一个新字符串
三、标准流
System.in –》inputStream 键盘输入流
System.out –》printStream 显示器输出、指定输出
PrintStream :为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。
常见方法:各种print println append
PrintStream ps=System.out;
ps.print(true);
ps.append(“abc”);
System.in—>InputStream 操作byte.键盘敲回车键这一动作包含3个字符:回车、\r、\n skip(long l):跳过l个字符。
InputStreamReader(System.in):每次操作一个字符
BufferedReader(new InputStreamReader(System.in)):操作多个字符
总结:
文字(字符):FileWriter BufferedWriter
FileReader BufferedReader
图片、音频(字节):FileInputStream BufferedInputStream
FileOutputStream BufferedOutputStream
键盘标准输入流:System.in
InputStream (System.in)–》InputStreamReader–》
BufferedReader(new InputStreamReader(System.in)

0 0