Java中IO流中所涉及到的各类方法介绍
IO流之字节流
(1)IO用于在设备间进行数据传输的操作
(2)分类:
A:流向
输入流 读取数据
输出流 写出数据
B:数据类型
字节流
字节输入流
字节输出流
字符流
字符输入流
字符输出流
注意:
a:如果没有明确说明按照什么分,默认按照数据类型分。
b:除非文件用windows自带的记事本打开我们能够读懂,才采用字符流,否则建议使用字节流。
(3)FileOutputStream写出数据
A:操作步骤
a:创建字节输出流对象
b:调用write()方法
c:释放资源 B:代码体现:
FileOutputStream fos = new FileOutputStream("fos.txt"); fos.write("hello".getBytes()); fos.close(); C:要注意的问题?
a:创建字节输出流对象时,
1.直接调用系统的功能区创建文件2.创建fileoutputStream对象3.将该对象指向这个文件 b:为什么要close()
首先是让流对象变成垃圾,这样就可以被垃圾回收器回收了,其次是通知系统区释放与该文件相关的资源
c:如何实现数据的换行
由于换行符也是可以读取的,因此一般是自动换行,
d:如何实现数据的追加写入
使用特殊的构造方法,将boolean append的参数写成true即可。
(4)FileInputStream读取数据
A:操作步骤
a:创建字节输入流对象
b:调用read()方法
c:释放资源 B:代码体现:
FileInputStream fis = new FileInputStream("fos.txt"); //方式1
int by = 0;
while((by = fis.read () ) != -1) {
System.out.print((char) by);
} //方式2
byte[] bys = new byte [1024];
int len = 0;
while((len = fis.read(bys)) != -1) {
System.out.print(new String(bys,0,len)); //注意此处在读取数据时打印的数据一定是最后一次读取
//到的数组的实际长度,每一次读取数据都是下一次的数组覆
//盖上一次的数组中对应位置的元素值
} fis.close(); IO流之字节流
字符输入流
基类:abstract Reader
int read():一次读取一个字符 --->与上面的字节流操作一致
int read(char[] chs):一次读取一个字符数组 --->与上面的字节流操作一致
|--InputStreamReader |
--FileReader这个是简化方式一般使用该类
76 |--BufferedReader 77 String readLine():一次读取一个字符串 78 |--字符输出流 基类:Writer void write(int ch):一次写一个字符 void write(char[] chs,int index,int len):一次写一个字符数组的一部分 83 |--OutputStreamWriter |--FileWriter 由于该类名字简化一般直接使用该类 |--BufferedWriter void newLine():写一个换行符 87 void write(String line):一次写一个字符串
Java中IO流中所涉及到的各类方法介绍的更多相关文章
- Java中IO流中的装饰设计模式(BufferReader的原理)
本文粗略的介绍下JavaIO的整体框架,重在解释BufferReader/BufferWriter的演变过程和原理(对应的设计模式) 一.JavaIO的简介 流按操作数据分为两种:字节流与字符流. 流 ...
- 揭开Java IO流中的flush()的神秘面纱
大家在使用Java IO流中OutputStream.PrintWriter --时,会经常用到它的flush()方法. 与在网络硬件中缓存一样,流还可以在软件中得到缓存,即直接在Java代码中缓存. ...
- Java中IO流的总结
有关Java中IO流总结图 流分类 按方向分 输入流 输出流 按单位分 字节流 字符流 按功能分 节点流 处理流(过滤流) 其他 所有的流继承与这四类流:InputSteam.OutputStream ...
- JAVA中IO流总结
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42119261 我想你对JAVA的IO流有所了解,平时使用的 ...
- 第54节:Java当中的IO流(中)
Java当中的IO流(中) 删除目录 // 简书作者:达叔小生 import java.io.File; public class Demo{ public static void main(Stri ...
- java 中 IO 流分为几种?(未完成)
java 中 IO 流分为几种?(未完成)
- Java当中的IO流(中)
Java当中的IO流(中) 删除目录 import java.io.File; public class Demo{ public static void main(String[] args){ / ...
- io流中的装饰模式对理解io流的重要性
为了说明 io流中的装饰者模式对理解io流的重要性,我想先简要介绍以下io的装饰模式. 装饰(decorator)你也可以翻译成修饰.比如:一个会精通化学数学的物理学家.在这个"物理学家&q ...
- 二十一、Java基础--------IO流之综合案例分析
前三篇文章详细介绍了IO流体系所涉及的重点内容,为了帮助理解与学习,本片博客主要是分析一个与IO操作相关的题目. 例1:在我们观看视频时经常要关注的就是视频的时间长度,在学习了IO操作之后,就可以自己 ...
随机推荐
- linux chmod命令(转)
chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. Linux系统中的每 ...
- JAVA定时器实现之一(通过继承TimerTask)
在某些时候, 我们需要实现这样的功能,某一程序隔一段时间执行一次,而这一事情由系统本身来完成,并不是人为的触发,我们一般可称此为定时器任务. 这类技术主要应用到那些需要进行后台整理数据的系统中,比如说 ...
- tomcat的部署
零.服务器.Servlet容器.web容器 Servlet容器:能够运行Servlet的环境叫做Servlet容器 web容器:能够运行web应用的环境就叫做web容器 weblogic websph ...
- [BS-20] 导航控制器和视图控制器在添加控制器的区别
导航控制器和视图控制器在添加控制器的区别 1. 因导航控制器拥有导航栈,有一个普通视图控制器都没有的数组viewControllers,加入该数组中的视图控制器默认以push的方式进入导航栈.导航控制 ...
- Java8 新特性default
在JDK1.8的Iterator接口中 package java.util; import java.util.function.Consumer; public interface Iterator ...
- python_中文乱码问题
1. 编码和解码的概念: 编码是将源对象内容按照一种标准转换为一种标准格式内容. 解码是和编码对应的,它使用和编码相同的标准将编码内容还原为最初的对象内容. 2. python中的编码和解 ...
- App上架审核指南翻译
App Store Review Guidelines APP审核指南:https://developer.apple.com/app-store/review/guidelines/ 本文是自主翻译 ...
- AWR快照管理
创建快照: SQL> exec dbms_workload_repository.create_snapshot(); 删除快照: SQL> exec dbms_workload_repo ...
- DG - logical standby switchover切换过程
从11g起,主库和逻辑备库之间切换不再需要关闭任何数据库实例. 1.检查主数据库是否处于考虑切换状态 SQL> select switchover_status from v$database; ...
- 不等高cell的tableView界面搭建
一.搭建界面 1.界面分析 分析界面的层次结构,分析界面应该用什么控件来搭建 2.界面层次结构 分析之后,我们可以把这个界面分为四个模块(topView middleView commentView ...