Java中的流

字节流

file类
createNewFile() :创建文件 mkdir():创建文件夹
io分类:
A.字节流:inputStream outputStream 输入|输出流
FileInputStream(String path) FileInputStream(File file)
FileOutputStream
B.字符流: Reader Writer
A.节点流:直接与文件交互的流
B.处理流:直接与流交互的流
C.转换流:InputStreamReader (字节—>字符) outputStreamWriter
共同方法:read write
当操作文件比较到大时,考虑使用字节缓存流。
D.缓存流:在原来基础上添加了一些功能
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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值