13Java语法回顾之filewriter&&filereader
来源:互联网 发布:pcl 区域增长算法 编辑:程序博客网 时间:2024/05/16 07:52
Java语法回顾之FileWriter&&FileReader
读了那么多年的书让我明白一个道理。人要稳重,不要想到啥就做啥。做一行越久即使你不会,几年之后慢慢的你也会了,加上一点努力你或许你能成为别人眼中的专家。
FileWriter简介
/* * IO流: * 字节流 * 字节输入流 读取数据 InputStream * 字节输出流 写入数据 OutputStream * 字符流 * 字符输入流 读取数据 Reader * 字符输出流 写入数据 Writer * * 需求:我要把一句话:"hello,io,我来了。祝你元旦快乐。"写入一个test.txt中。 * * 分析: * A:由于我们是写数据,所以使用OutputStream或者Writer。 * B:由于我们要写入到一个文本文件中,所以最终选择了Writer。 * * 通过查看API,我们发现,Writer是一个抽象类。那么,怎么办呢? * 只能找子类使用。又由于我们是对文件操作,我们猜测了这个子类的名称是:FileWriter * * 去看FileWriter的构造方法: * A:FileWriter(File file) * B:FileWriter(String fileName) */
FileWriter代码测试
public class FileWriterDemo { public static void main(String[] args) throws IOException { // 创建字符输出流对象 /* * 创建字符输出流对象做了几件事情? A:调用系统功能创建了文件 B:创建字符输出流对象 C:把字符输出流对象指向创建的文件 */ FileWriter fw = new FileWriter("a.txt"); // 调用写数据的功能 fw.flush(); // 释放资源 fw.close(); /* * 为什么要close()呢? * 1:让流对象变成垃圾。 * 2:通知系统去释放和文件相关的资源。 */ }}
FileWriter知识点
/* * 字符输出流操作步骤: * A:创建字符输出流对象 * B:调用对象的写入数据方法,并刷新缓冲区 * C:释放资源 * * 问题1:为什么FileWriter没有无参构造方法? * 因为写数据的时候,一定要明确写道哪里去。 * * 问题2:flush()和close()的区别? * flush():只刷新缓冲区,流对象还可以继续使用。 * close():先刷新缓冲区,在关闭流对象。流对象不可以继续被使用。 * * 问题3:难道每次调用方法的时候,都需要刷新吗?或者说,不用刷,直接等到close()来解决,行不行? * 这两种方式都不可取。 */
FileWriter知识点补充
/* * 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) * * 3:数据没次都把以前的给覆盖了,如果我想追加写入,怎么办? * 构造的时候,用带两个参数的。 * public FileWriter(String fileName,boolean append) */
FileWriter知识点补充代码测试
public class FileWriterDemo3 { public static void main(String[] args) throws IOException { // 创建字符输出流对象 FileWriter fw = new FileWriter("b.txt",true); // 追加数据 fw.write("hello\r\n"); fw.write("world\r\n"); fw.write("java\r\n"); fw.flush(); // 释放资源 fw.close(); }}
FileReader按字节读取字符
/* * 字符输入流读取数据步骤: * A:创建字符输入流对象 * B:调用读取数据功能,并显示 * C:释放资源 * * 一次读取一个字符。 */
FileReader按字节读取字符代码测试
public class FileReaderDemo { public static void main(String[] args) throws IOException { // 创建字符输入流对象 FileReader fr = new FileReader("b.txt"); //初始的len为0,就是没有读 int len = 0; //如果len不等于-1,就一直读。 while ((len = fr.read())!=-1) { System.out.print((char)len); } fr.close();}
FileReader按字符数组读取字符
/* * 一次读取一个字符数组 * public int read(char[] cbuf) * 每次读取数据,把数据存储到字符数组中,返回值是实际读取长度。 */
FileReader按字符数组读取字符代码测试
public class FileReaderDemo2 { public static void main(String[] args) throws IOException { // 创建字符输入流 // FileReader fr = new FileReader("b.txt"); FileReader fr = new FileReader("FileReaderDemo.java"); // 读取数据 // 如果实际读取长度是-1的情况,那么,说明已经读取到结尾了 // 开发的写法 // 数组的长度一般定义为1024的整数倍。 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文件复制
/* * 需求:我要把项目路径下的FileReaderDemo.java复制到/Users/xwf/Downloads中 * * 数据源: * 读取数据: * FileWriterDemo.java -- Reader -- FileReader * * 目的地: * 写入数据: * /Users/xwf/Downloads -- Writer -- FileWriter */
FileRead文件复制代码测试
public class CopyFile { public static void main(String[] args) throws IOException { // 封装数据源 FileReader fr = new FileReader("FileReaderDemo.java"); // 封装目的地 FileWriter fw = new FileWriter("//Users//xwf//Downloads//1.txt"); // 读取数据 char[] chs = new char[1024]; int len = 0; while ((len = fr.read(chs))!=-1) { fw.write(chs,0,len); } // 释放资源 fw.close(); fr.close(); }}
0 0
- 13Java语法回顾之filewriter&&filereader
- java之FileReader与FileWriter
- Java-IO之FileReader和FileWriter
- Java FileReader FileWriter 示例
- Java IO - FileReader&FileWriter
- Java FileReader 和 FileWriter
- Java-FileReader和FileWriter
- java FileWriter和FileReader
- java核心技术之IO流(三)FileReader和FileWriter
- java io系列22之 FileReader和FileWriter
- java io系列22之 FileReader和FileWriter
- Java之IO(二)FileReader、FileWriter、BufferedReader、BufferedWriter
- IO流之FileReader、FileWriter
- [Java] FileReader/FileWriter 字符流
- Java IO FileReader和FileWriter
- Java的FileReader与FileWriter
- Java--IO流(FileReader,FileWriter)
- FileReader FileWriter
- 小猪的Android入门之路 Day 8 part 6
- 保证数据的完整性
- [探测与扫描]仿生学-鹰眼的威力
- 小猪的Android入门之路 Day 9 part 1
- 笔记
- 13Java语法回顾之filewriter&&filereader
- inline函数与普通函数的区别
- Web服务启动时自动加载Servlet
- Unity中消息事件的封装与运用
- 5种类型的程序员
- LeetCode: 012- Reverse Linked List
- 回归csdn
- hdu3998 最长上升子序列及其个数 dp或dp+最大流
- Sicily 1129. ISBN