java基础整理-IO流
来源:互联网 发布:网络言论自由的优点 编辑:程序博客网 时间:2024/06/06 07:52
/*
* IO流:
* 字节流
* 字节输入流 读取数据 InputStream
* 字节输出流 写入数据 OutputStream
* 字符流
* 字符输入流 读取数据 Reader
* 字符输出流 写入数据 Writer
*/
FileWriter---------------------------------------------------------------------
/*
* 通过查看API,Writer是一个抽象类。找子类使用FileWriter
* A:FileWriter(File file)
* B:FileWriter(String fileName)
*
* 问题2:flush()和close()的区别?
* flush():只刷新缓冲区,流对象还可以继续使用。
* close():先刷新缓冲区,在关闭流对象。流对象不可以继续被使用。
*
* 不同的操作系统,对换行符的要求不一样:
* windows:\r\n
* linux:\n
* mac:\r
* 而有些软件,在制作的时候,为了通用,对任何换行符都是可以识别的。
*
* 1:写入数据的方式,有5种。
* write(int ch)
* write(char[] chs,int index,int len)
* write(char[] chs)
* write(String str,int index,int len)
* write(String str)
* FileWriter(String fileName,boolean append)追加字符串
*/
// 字符流 1字符 = 2字节 文件数据底层单位是字节,而我们现在是字符,所以它不能直接把数据写入文件。 把字符输出存储到缓冲区里面。
FileWriter fw = new FileWriter("a.txt");
// 调用写数据的功能,仅在缓存区里,需要flush()才能写入文件中
fw.write("hello,io,我来了!");
// 释放资源;1:让流对象变成垃圾;2:通知系统去释放和文件相关的资源。
fw.close();
FileRead--------------------------------------------------------------------------------
/** 字符输入流读取数据步骤:
* A:创建字符输入流对象
* B:调用读取数据功能,并显示
* C:释放资源
*
* 1、read() 读取单个字节
* 2、read(char[] cbuf) 每次读取数据,把数据存储到字符数组中,
* 3、read(char[] cbuf,int off,int len) 每次读取数据,把数据存储到字符数组中,返回值是实际读取长度。
*
* 备注:
* 1、read()方法读取数据返回int类型,一次读取一个字符,并自动移动到下一个数据位置等待读取。
* 2、无数据时,将返回-1;
* 3、read(char[] cbuf) 每次读取都会覆盖前一次的数据,若不完全覆盖将会重复上次数据
*/
方法1:
FileReader fr = new FileReader("d:\\Demo.java");
int ch = 0;
while((ch=fr.read())!=-1){
System.out.print((char) ch);
}
fr.close();
方法2:
FileReader fr = new FileReader("d:\\Demo.java");
char[] chs = new char[1024];
int len = 0;
while((len = fr.read(chs))!=-1){
System.out.print(new String(chs,0,len));
}
fr.close();
FileRead练习----------------------------------------------------
/*
* 需求:我要把项目路径下的Demo.java复制到d:\\Demo2.java中
*/
// 封装数据源
FileReader fr = new FileReader("Demo.java");
// 封装目的地
FileWriter fw = new FileWriter("d:\\Demo2.java");
char[] chs = new char[1024];
int len = 0;
while ((len = fr.read(chs)) != -1) {
//写入数据.
fw.write(chs,0,len);
}
// 释放资源
fw.close();
fr.close();
- java基础整理-IO流
- java基础整理のIO流
- java基础整理9--IO
- Java IO 流整理
- java io流整理
- JAVA - IO流 - 整理
- java io 流整理
- JAVA IO 流整理
- java io流整理
- java IO流整理
- java基础整理十九(IO流一)
- java基础整理二十(IO流二)
- java基础整理二十一(IO流三)
- 【java基础:IO】Java的IO知识整理!
- Java IO流分析整理
- Java IO流分析整理
- Java IO流分析整理
- Java IO流分析整理
- eclipse中使用junit4单元测试入门
- C语言中将二维数组作为参数传递给函数的方法
- C++之虚析构函数
- Xcode build版本号自动跟随时间变化脚本
- webview javascript 注入方法
- java基础整理-IO流
- 剑指offer第一题
- dp再回顾之思路分析,及小知识点总结
- Working with SSH key passphrases
- Sparse Autoencoder 稀疏自动编码
- 手把手教你我是如何用H5制作工具在微信上宣传我的店铺
- js的初步应用 注册
- php常用函数
- 怎样在Eclipse中使用debug调试程序