输入输出&网络IO

Java把所有设备里的有序数据抽象成流模型。

输入流&输出流(以程序运行内存来看)、字节流(InputStream)&字符流(Reader/Writer)、节点流&处理流【装饰器模式:使用处理流来包装不同的节点流】

 

重定向 System.setErr();   System.setOut(ps);  System.setIn(fis);

RandomAccessFile

既可以读取文件内容,也可以向文件输出数据。“随机访问”,可以直接跳转到文件任意地方来读写数据,故只是访问文件部分内容,而不是从头读到尾,选择RandomAccessFile。

直接读写文件,不能读写其他IO节点。

RandomAccessFile raf = new RandomAccessFile("a.java”, “rw”);// r   rw   rws  rwd

raf.getFilePointer();    raf.seek(raf.length() ); raf.write();

RandomAccessFile不能向文件指定位置插入内容(会覆盖),只能在最后追加内容,how?先把插入点后面内容读入缓冲区,把插入的内容写入文件后再将缓冲区内容追加到文件后面。

NIO.2

java7对原有NIO进行重大改进:

a)提供全面的文件IO和文件系统访问支持:新增java.nio.file包及各个子包

b)基于异步Channel的IO(NIO.2):在java.nio.channels包下新增多个以Asynchronous开头的Channel接口和类

引入Path接口,代表一个平台无关的平台路径。Files工具类操作文件,Paths工具类两个返回Path的静态方法。

FileVisitor遍历文件和目录(SimpleFileVisitor)  Files.walkFileTree()

WatchServie监控文件变化  Path.get(“C:/”).register(watchService, )

访问文件属性java.nio.file.attribute包下的工具类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值