黑马程序员---IO流FileReader和 FileWriter

来源:互联网 发布:影视大全网络已断开 编辑:程序博客网 时间:2024/05/13 11:23

---------------------- android培训、java培训、期待与您交流! ----------------------

IO

IO常用基类

字节流的常用基类:

InputStream OutputStream

字符流的常用基类:

ReaderWriter

这四个类都是抽象类,需要被子类实现其中的抽象方法。

InputStream 用于向程序输入数据,数据的单位为8bit

OutputStream 用于程序输出数据,数据的单位为8bit

 

继承Reader的流都是向程序输入数据,且数据单位16bit

继承Writer的流都是程序输出数据,且数据单位16bit

代码示例:

//文件的在硬盘的创建和异常的处理//创建一个文件并以字符方式写入一些数据import java.io.*;public class FileWriterDemo {public static void main(String[] args) {FileWriter fw = null;try {fw = new FileWriter("f:\\demo.txt");fw.write("tihs is  a FileWriter test!");// 将文件写入到流中fw.flush();// 刷新流的缓冲} catch (IOException e) {e.printStackTrace();} finally {if (fw != null)try {fw.close();} catch (IOException e) {e.printStackTrace();}}}}
//从指定文件中以字符方式读取数据,public class FileReaderDemo {public static void main(String[] args) {FileReader fr = null;try {fr = new FileReader("f:\\demo.txt");int ch = 0;while ((ch = fr.read()) != -1)System.out.print((char) ch);} catch (IOException e) {e.printStackTrace();} finally{if (fr != null)try {fr.close();} catch (IOException e) {e.printStackTrace();}}}}
//通过字符数组读取数据import java.io.*;public class FileReaderDemo2 {public static void main(String[] args) throws IOException {FileReader fr = null;fr = new FileReader("f:\\demo.txt");char[] chArray = new char[1024];//顶一个数组用于存储读取的数据int num = 0;while ((num = fr.read(chArray)) != -1)//返回读取的字符数 用num表示System.out.print("num=" + num + "...."+ new String(chArray, 0, num));//将字符数组转为字符串if (fr != null)fr.close();}}//注意:该代码没有进行异常处理
//读取文件存取到数组中然后打印到控制台import java.io.*;public class FileReaderTest {public static void main(String[] args) {FileReader fr = null;try {fr = new FileReader("f:\\wifi.bat");char[] chArray = new char[1024 * 2];int num = 0;while ((num = fr.read(chArray)) != -1) {System.out.print(new String(chArray,0,num));}} catch (IOException e) {e.printStackTrace();} finally{if(fr != null) {try {fr.close();} catch (IOException e) {e.printStackTrace();}}}}}
//文件的拷贝//读取文件并使用数组存储读取道的数据,然后再write到指定的文件中public static void copyFile() {FileWriter fw = null;FileReader fr = null;char[] buff = new char[1024];try {fw = new FileWriter("f:\\copy2.txt");fr = new FileReader("e:\\codeBox.txt");int len = 0;while ((len = fr.read(buff)) != -1) {fw.write(buff, 0, len);}} catch (IOException e) {e.printStackTrace();} finally {if (fw != null)try {fw.close();} catch (IOException e) {e.printStackTrace();}if (fr != null)try {fr.close();} catch (IOException e) {e.printStackTrace();}}}

---------------------- android培训、java培训、期待与您交流! ----------------------

原创粉丝点击