IO 流小记录
File类
构造函数: FIle file = new File(path);
常用函数:
是否存在: file.exists()
文件名: file.getName()
父目录: file.getParent()
=================================================================

FileInputStream 类
构造方法: InputStream is = new InputStream(File file)
常用方法:
len = is.read(buffer,off,len); ---> len = is.read(buffer);
b the buffer into which the data is read.
@return the total number of bytes read into the buffer, or -1
FileOutputStream 类
构造方法: OutputStream os = new FileOutputStream(File file)
常用方法:
os.write(buffer,0,len)
BufferedInputStream 添加了缓冲区的输入流
构造方法: BufferedInputStream bis = new BufferedInputStream(FileInputStream fis);
常用方法:
bis.read(buffer,0,len);
BufferedOutputStream bos 添加了缓冲区的输出流
构造方法: BufferedOutputStream bos = new BufferedOutputStream(FileOutputStream fos);
常见方法:
bos.write(buffer,0, len);
bos.flush()
bos.close();
前提 序列化与反序列化 要继承接口 java.io.Serializable;
ObjectInputStream 对象的输入流, 实现对象的反序列化。
构造方法: ObjectInputStream bis = new ObjectInputStream(FileInputStream fis);
主要方法:
bis.readObect();
ObjectOutputStream 对象的输出流, 实现对象的序列化
构造方法: ObjectOutputStream bos = new ObjectOutputStream(FileOutputStream fos);
主要方法:
bos.write(object obj);
============================================================================================================
字节流:

InputStreamReader 字符输入流,输入内存中时, 已经将字节装换成 unicode 16位的字符编码。 解决了乱码的问题
构造方法:InputStreamReader isr = new InputStreamReader( FileInputStream fis );
常用方法
len = isr.read(char [] buffer, int off, int len)
OutputStreamWriter 字符输出流。 char
构造方法: OutputStreamWriter osw = new OutputStreamWriter(FileOutputStream fos);
osw.write(char[] cbuff,off,len);
osw.flush()
osw.close()
FileReader 类
构造方法: FileReader fr = new FileReader( new File(path) )
常用方法:
fr.read(char[] buff, int off, int len);
FileWriter 类
构造方法: FileWriter fw = new FileWriter(new File(Path))
常用方法:
fr.write(char[] buff, int off, int len);
BufferedReader 类 filereader.readLine() return String 每次读取一行。
Reader r = new FileReader(new File("d:/w.txt"));
BufferedReader bReader = new BufferedReader(r);
//String str = bReader.readLine();
String str = null;
while( ( str = bReader.readLine() ) != null ){
System.out.println(str);
}
bufferedWriter 类
Writer w = new FileWriter(new File("d:/w.txt"));
BufferedWriter bw = new BufferedWriter(w);
String s = "叙利亚\r\n利比亚\r\n中国\r\n";
bw.write(s, , s.length());
bw.close();
IO 流小记录的更多相关文章
- 在网络编程中的io流小问题
在客户端和服务端调用io流进行传输数据的过程中,当将数据write到outputstream中,需要及时刷新,否则会发生io阻塞. 在输入数据的时候,最好选用BufferedReader,因为read ...
- IO流小笔记
File file=new File ();括号里面写路径 exists()判断文件是否存在:isfile()是判断已经存在的文件是文件还是目录: mkdir()和createNewFile()区别在 ...
- IO流简要总结
IO流小总结 IO流的本质就是用于数据的传输,根据流的方向的不同,有输入流.输出流.根据数据类型的不同,又有字节流.字符流. 字节流 字节输入流 InputStream 字节输出流 Outpu ...
- Java基础IO流(二)字节流小案例
JAVA基础IO流(一)https://www.cnblogs.com/deepSleeping/p/9693601.html ①读取指定文件内容,按照16进制输出到控制台 其中,Integer.to ...
- 二十一、Java基础--------IO流之综合案例分析
前三篇文章详细介绍了IO流体系所涉及的重点内容,为了帮助理解与学习,本片博客主要是分析一个与IO操作相关的题目. 例1:在我们观看视频时经常要关注的就是视频的时间长度,在学习了IO操作之后,就可以自己 ...
- 【JAVA IO流之字符流】
一.概述. java对数据的操作是通过流的方式.java用于操作流的对象都在IO包中.流按照操作数据不同分为两种,字节流和字符流.流按照流向分为输入流,输出流. 输入输出的“入”和“出”是相当于内存来 ...
- JavaEE基础(二十)/IO流
1.IO流(IO流概述及其分类) 1.概念 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的类都在IO包中 流按流向分为两种:输入流,输出流. 流按操作类型分 ...
- day20<IO流>
IO流(IO流概述及其分类) IO流(FileInputStream) IO流(read()方法返回值为什么是int) IO流(FileOutputStream) IO流(FileOutputStre ...
- IO流大总结
- - - - - - - - - - - - - - - 写在前面 - - - - - - - - - - - - - - - 1.概念 IO流用来处理设备之间的数据传输 Java对数据的操作是通过 ...
随机推荐
- struts2:标签库图示,控制标签
目录 一.struts2标签库图示二.控制标签1. 条件判断标签(if/elseif/else)2. 迭代标签(iterator) 2.1 遍历List 2.2 遍历Map 2.3 遍历List(Ac ...
- 《转》12个Sublime Text使用技巧
文为您提供Sublime Text编辑器的12个技巧和诀窍,深入挖掘这个看似简洁的代码编辑器,背后所隐藏的实现各种高级功能的无限可能. 1) 选择 以下是一些Sublime Text选择文本的快捷键: ...
- 4. OpenAI GPT算法原理解析
1. 语言模型 2. Attention Is All You Need(Transformer)算法原理解析 3. ELMo算法原理解析 4. OpenAI GPT算法原理解析 5. BERT算法原 ...
- 【九天教您南方cass 9.1】 14 坐标数据的纠正
同学们大家好,欢迎收看由老王测量上班记出品的cass9.1视频课程 我是本节课主讲老师九天. 我们讲课的教程附件也是共享的,请注意索取 在测量空间中. 九天老师的联系方式 点击直接请教九天老师吧! ...
- mac上Python多版本共存(python2.7.10和python3.5.0)
本文的实现目标是在mac上安装一个python3.5.0的版本,跟当前系统自带的python2.7.10共存. 查看当前版本号 python -V 2.7.10 安装配置Python版本管理器pyen ...
- AtomicLong.lazySet 是如何工作的?
原文:http://www.quora.com/Java-programming-language/How-does-AtomicLong-lazySet-work Jackson Davis说:为一 ...
- 创建shell脚本
1.写一个脚本 a) 用touch命令创建一个文件:touch my_script b) 用vim编辑器打开my_script文件:vi my_script c) 用vim编辑器编辑my_script ...
- ubuntu12.04安装Docker
由于公司的虚拟机上的ubuntu都是12.04的,所以要在ubuntu12.04上安装Docker.Docker目前只能运行在64位的机器上面. 先要升级内核 sudo apt-get update ...
- 【javascript】console 让 js 调试更简单
浏览器的控制台(console)是最重要的面板,主要作用是显示网页加载过程中产生各类信息. 显示信息 console.log('hello world'); console.debug('debug' ...
- 二、主流区块链技术特点及Hyperledger Fabric V0.6版本特点
一.主流区块链技术特点 二.HyperLedger子项目 三.Hyperledger fabric架构 V0.6逻辑架构: V0.6区块链网络 对应的0.6版本的运行时架构: 0.6版本的架构特点是: ...