day18IO概述& 字符流FileWriter FileReader
来源:互联网 发布:网络流量监视软件 编辑:程序博客网 时间:2024/05/22 03:10
<1 IO流(概述)>
按照操作的数据分为两种:字节流、字符流。
<2 IO流(FileWriter)>
package day18;import java.io.FileWriter;import java.io.IOException;/** * 字符流和字节流: * 字节流两个基类: * InputStream OutputStream * * 字符流两个基类: * Reader Writer * * 先学习一下字符流的特点。 * * 既然IO流是用于操作数据的, * 那么数据的最常见体现形式是:文件。 * * 那么先以操作文件为主来演示。 * * 需求:在硬盘上,创建一个文件并写入一些文字数据。 * * 找到一个专门用于操作文件的Writer自雷对象。FileWriter。 * 后缀名是父类名,前缀名是该流对象的功能。 * Created by Administrator on 2017/1/29. */public class Test1 { public static void main(String[] args) throws IOException { //创建一个FileWriter对象。该对象一被初始化,就必须要明确被操作的文件。 //而且该文件会被创建到指定的目录下。如果该目录下已有同名文件,将被覆盖。 //其实该步就是在明确数据要存放的目的地。 FileWriter fw = new FileWriter("demo.txt"); //调用write方法,将字符串写入到流中。 fw.write("abcde"); //刷新流对象中的缓冲中的数据。 //将数据刷到目的地中.// fw.flush();//// fw.write("abc");// fw.flush(); //关闭流资源,但是关闭之前会刷新一次内部的缓冲中的数据。 //将数据刷到目的地中。 //和flush的区别:flush刷新后,流可以继续使用,close刷新后,会将流关闭。 fw.close();// fw.write("haha"); }}
<3 IO流(IO异常处理方式)>
package day18;import java.io.FileWriter;import java.io.IOException;/** * IO异常的处理方式。 * Created by Administrator on 2017/1/29. */public class FileWriterDemo2 { public static void main(String[] args){ //在外边建立引用,在内部进行初始化 FileWriter fw = null; //调用底层资源 try { fw = new FileWriter("demo.txt"); fw.write("abcdefg"); //数据写入到“流”里面了 } catch (IOException e) { System.out.println("catch:" + e.toString()); }finally { try { if(fw != null) //一定要进行判断! fw.close(); } catch (IOException e) { System.out.println(e.toString()); } } }}<04 IO流(文件的读写)>
package day18;import java.io.FileWriter;import java.io.IOException;/** * 演示对已有文件的数据续写。 * Created by Administrator on 2017/1/29. */public class FileWriterDemo3 { public static void main(String[] args) throws IOException { //传递一个true参数,代表不覆盖已有的文件。并在已有文件的末尾处进行数据续写。 FileWriter fw = new FileWriter("a.txt", true); fw.write("nihao\nxiexie"); fw.close(); }}<05 IO流(文本文件读取方式一)>
package day18;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;/** * Created by Administrator on 2017/1/29. */public class FileReaderDemo { public static void main(String[] args) throws IOException { //创建一个文件读取流对象,和指定名称的文件相关联。 //要保证该文件是已经存在的,如果不存在,会发生异常FileNotFoundException。 FileReader fr = new FileReader("demo.txt"); //调用读取流对象的read方法 //read():一次读一个字符。而且会自动往下读。 int ch = 0; while ((ch = fr.read()) != -1){ System.out.println((char)ch); } /* while (true){ int ch = fr.read(); if(ch == -1) break; System.out.println("ch=" + (char)ch); }*/// int ch = fr.read();// System.out.println("ch=" + (char)ch); fr.close(); //调用的是Windows的read方法。 }}<06 IO流(文本文件读取方式二)>
package day18;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;/** * 第二种方式:通过字符数组进行读取。 * Created by Administrator on 2017/1/30. */public class FileReaderDemo2 { public static void main(String[] args) throws IOException { FileReader fr = new FileReader("demo.txt"); //定义一个字符数组,用于存储读到的字符。 //该read(char[])返回的是读到的字符个数. char[] buf = new char[1024]; int num = 0; while((num=fr.read(buf)) != -1){ System.out.println(new String(buf, 0, num)); } fr.close(); }}<07 IO流(文本文件读取练习)>
package day18;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;/** * 读取一个.java文件,并打印在控制台上。 * Created by Administrator on 2017/1/30. */public class FileReaderTest { public static void main(String[] args) throws IOException { FileReader fr = new FileReader("demo.txt"); char[] buf = new char[1024]; int num = 0; while((num = fr.read(buf)) != -1){ System.out.println(new String(buf, 0, num)); } fr.close(); }}<08 IO流(拷贝文本文件)>
package day18;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;/** * 将c盘一个文本文件复制到D盘 * 复制的原理: * 其实就是将C盘下的文件数据存储到D盘的一个文件中。 * * 步骤: * 1. 在D盘创建一个文件。用于存储C盘文件中的数据。 * 2. 定义读取流和C盘文件关联。 * 3. 通过不断的读写完成数据的存储。 * 4. 关闭资源。 * Created by Administrator on 2017/1/30. */public class CopyTest { public static void main(String[] args) throws IOException {// copy_1(); copy_2(); } //从C盘读一个字符,就往D盘写一个字符 public static void copy_1() throws IOException { //创建目的地。 FileWriter fw = new FileWriter("Demo_copy.txt"); //与已有文件关联。 FileReader fr = new FileReader("demo.txt"); int ch = 0; while((ch = fr.read()) != -1){ fw.write(ch); } fw.close(); fr.close(); } public static void copy_2(){ FileWriter fw = null; //局部变量都要初始化一些 FileReader fr = null; try{ fw = new FileWriter("copy.txt"); fr = new FileReader("demo.txt"); char[] buf = new char[1024]; int len = 0; while((len = fr.read(buf)) != -1){ fw.write(buf, 0, len); } }catch (IOException e) { throw new RuntimeException("读写失败"); }finally { if(fr != null){ try{ fr.close(); }catch(IOException e){ } } if(fw != null) try{ fw.close(); }catch(IOException e){ } } }}<09 IO流(拷贝文本文件图例)>
0 0
- day18IO概述& 字符流FileWriter FileReader
- [Java] FileReader/FileWriter 字符流
- 读写字符流 FileReader、FileWriter
- 字符流FileReader和FileWriter
- IO流的字符流FileWriter、FileReader
- IO流<字符流>FileWriter、FileReader
- 黑马程序员-IO-字符流-FileWriter&FileReader
- 字符流-FileReader和 FileWriter的用法
- 黑马程序员_IO流1_(IO流概述,字符流,字节流,FileWriter,FileReader)
- 黑马程序员_IO流一(IO流概述,字符流,FileWriter,FileReader)
- 字符输出流FileWriter和字符输入流FileReader
- IO之输入字符流FileReader、输出字符FileWriter
- Java IO流->节点流->字符流:FileReader与FileWriter
- 7.Java基础:常见IO流----->字符流:FileReader、FileWriter
- 字符输入输出流:java.io.FileReader和java.io.FileWriter
- Java 字符流实现文件读写操作(FileReader-FileWriter)
- JAVA学习笔记(三十二)- 字符流 FileReader & FileWriter
- Java——FileReader&FileWriter字符流实现文件复制
- 【t032】地理
- DEEPLEARNING.UNIVERSITY深度学习论文库
- 10.5.3
- 10.6
- C++ template模板函数的定义与调用
- day18IO概述& 字符流FileWriter FileReader
- 五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)
- 这就是生活!
- 基本数据类型
- Event(事件)的传播与冒泡
- BZOJ 1068: [SCOI2007]压缩 划分DP,记忆化搜索
- 目录 (GNC) (pb-ds)
- opencv学习之仿射变换
- MDK工程的文件类型以及产生过程解析