简单的javaIO操作

来源:互联网 发布:腾讯微云同步盘mac版 编辑:程序博客网 时间:2024/05/22 13:25

Java流的概念

流(Stream)是指在计算机的输入输出操作中各部件之间的数据流动。按照数据的传输方向,流可分为输入流与输出流。Java语言里的流序列中的数据既可以是未经加工的原始二进制数据,也可以是经过一定编码处理后符合某种特定格式的数据。Java提供了两种类型的输入输出流:一种是面向字节的流,数据的处理以字节为基本单位;另一种是面向字符的流,用于字符数据的处理。字节流(ByteStream每次读写8位二进制数,也称为二进制字节流或位流。字符流一次读写16位二进制数,并将其做一个字符而不是二进制位来处理。

Java I/O中流的层次结构如图:


针对一些频繁的设备交互,Java语言系统预定了3个可以直接使用的流对象,分别是:System.in(标准输入),通常代表键盘输入。

System.out(标准输出):通常写往显示器。

System.err(标准错误输出):通常写往显示器。

Java语言中使用字节流和字符流的步骤基本相同,以输入流为例,首先创建一个与数据源相关的流对象,然后利用流对象的方法从流输入数据,最后执行close()方法关闭流。


纯文本读取

public class Demo01 {/** * @param args */public static void main(String[] args) {//创建源File src =new File("E:/test/test.txt");//选择流Reader reader =null;try {reader =new FileReader(src);//读取操作char[] flush =new char[1024];int len =0;while(-1!=(len=reader.read(flush))){//字符数组转成 字符串String str =new String(flush,0,len);System.out.println(str);}} catch (FileNotFoundException e) {e.printStackTrace();System.out.println("文件不存在");} catch (IOException e) {e.printStackTrace();System.out.println("文件读取失败");}finally{try {if (null != reader) {reader.close();}} catch (Exception e2) {}}}}
写出文件

public class Demo02 {/** * @param args */public static void main(String[] args) {//创建源File dest =new File("E:test/test.txt");//选择流Writer wr =null;try {//追加文件,而不是覆盖文件wr =new FileWriter(dest);//写出String msg ="一本小破书\r\n一读一上午";wr.write(msg);wr.append("这是追加的内容 ");wr.flush();} catch (FileNotFoundException e) {e.printStackTrace();}catch (IOException e) {e.printStackTrace();}finally{try {if (null != wr) {wr.close();}} catch (Exception e2) {}}}}
纯文本的拷贝

public class CopyFileDemo {/** * @param args */public static void main(String[] args) {//创建源 仅限于 字符的纯文本File src =new File("E:/test/Demo03.java");File dest =new File("E:/test/test.txt");//选择流Reader reader =null;Writer wr =null;try {reader =new FileReader(src);wr =new FileWriter(dest);//读取操作char[] flush =new char[1024];int len =0;while(-1!=(len=reader.read(flush))){wr.write(flush, 0, len);}wr.flush();//强制刷出} catch (FileNotFoundException e) {e.printStackTrace();System.out.println("源文件不存在");} catch (IOException e) {e.printStackTrace();System.out.println("文件读取失败");}finally{try {if (null != wr) {wr.close();}} catch (Exception e2) {}try {if (null != reader) {reader.close();}} catch (Exception e2) {}}}}




0 0
原创粉丝点击