Java学习日志(18-2-IO流-文本文件读写操作)
2016-09-19 00:00
447 查看
Input Output
IO流用于处理设备之间的数据传输
Java对数据的操作是通过流的方式
Java用于操作流的对象都在IO包中
流按操作数据分为字节流与字符流
流按流向分为输入流与输出流
字节流的抽象基类
InputStream OutputStream
字符流的抽象基类
Reader Writer
文件创建刷新练习
IO异常处理方式
文件的续写
文本文件读取方式一
文本文件读取方式二
读取练习
拷贝文本文件
IO流用于处理设备之间的数据传输
Java对数据的操作是通过流的方式
Java用于操作流的对象都在IO包中
流按操作数据分为字节流与字符流
流按流向分为输入流与输出流
字节流的抽象基类
InputStream OutputStream
字符流的抽象基类
Reader Writer
文件创建刷新练习
/* 字符流两个基类 InputStream OutputStream 字符流两个基类 Reader Writer 字符流特点 数据最常见体现形式:文件 以操作文件为主来演示 需求:在硬盘上创建一个文件并写入数据 找到一个专门用于操作文件的Writer子类对象-FileWriter */ import java.io.*; class FileWriterDemo{ public static void main(String[] args)throws IOException{ // 创建一个FileWriter对象,已被初始化就必须要明确被操作的文件 //创建一个demo文本,明确数据存放的目的地 FileWriter fw=new FileWriter("demo.txt"); // 将字符写入流 fw.write("I Love XB"); // 刷新流对象中的数据-刷入目的地 fw.flush(); // fw.close(); //close关闭流资源,关闭前会将数据刷入目的地,之后不可继续使用 } }
IO异常处理方式
/* IO异常的处理方式 */ import java.io.*; class FileWriterDemo2{ public static void main(String[] args){ FileWriter fw=null; try{ fw=new FileWriter("demo2.txt"); fw.write("IloveXB"); } catch(IOException e){ System.out.println(e.toString()); } finally{ /* 运行后必然关闭流,节约资源,因此放入finally close抛出异常因此需要处理 */ try{ if(fw!=null){ fw.close(); } } catch(IOException e){ System.out.println(e.toString()); } } } }
文件的续写
/* 文件的续写 */ import java.io.*; class FileWriterDemo3{ public static void main(String[] args){ FileWriter fw=null; try{ //为true则续写,否则创建 fw=new FileWriter("demo.txt",true); fw.write("\r\n+10086"); } catch(IOException e){ System.out.println(e.toString()); } finally{ try{ if(fw!=null){ fw.close(); } } catch(IOException e){ System.out.println(e.toString()); } } } }
文本文件读取方式一
import java.io.*; class FileReaderDemo{ public static void main(String[] args)throws Exception{ /* 创建一个文件读取流对象,和指定名称的文件相关联 必须保证文件存在,否则发生异常-FileNotFoundException */ FileReader fr=new FileReader("demo.txt"); // read():一次读一个字符,自动往下读,没有则返回-1 int ch=0; while((ch=fr.read())!=-1){ System.out.println("ch="+(char)ch); } /* while(true){ int ch=fr.read(); if(ch==-1){ break; } System.out.println("ch="+(char)ch); } */ fr.close(); } }
文本文件读取方式二
import java.io.*; class FileReaderDemo2{ public static void main(String[] args)throws Exception{ FileReader fr=new FileReader("demo.txt"); // 定义一个字符数组用于存储 // 该read(char[])返回字符个数,长度通常定义为1024 char[] buf=new char[1024]; int num=0; while((num=fr.read(buf))!=-1){ System.out.println("num="+num+"::"+new String(buf,0,num)); } fr.close(); } }
读取练习
// 读取一个java文件,打印在控制台上 import java.io.*; class FileReaderTest{ public static void main(String[] args)throws Exception{ FileReader fr=new FileReader("SystemDemo.java"); char[] buf=new char[1024]; int num=0; while((num=fr.read(buf))!=-1){ System.out.pr 3ff0 intln(new String(buf,0,num)); } fr.close(); } }
拷贝文本文件
// 将C盘一个文本文件复制到D盘 /* 原理: 将C盘的文件储存到D盘 步骤: 1.在D盘创建一个文件,用于存储C盘文件中的数据 2.定于读取流和C盘文件的关联 3.通过不断的读写完成数据的存储 4.关闭流 */ import java.io.*; class CopyTest{ public static void main(String[] args){ } // 从C盘读一个字符就往D盘写一个字符 public static void copy_1()throws Exception{ // 创建目的地 FileWriter fw=new FileWriter("RuntimeDemo_copy.txt"); // 与已有文件关联 FileReader fr=new FileReader("RuntimeDemo.java"); 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("SystemDemo_copy.txt"); fr=new FileReader("SystemDemo.java"); 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){ } } } } }
相关文章推荐
- Java学习日志(19-3-IO流-字节流操作)
- Java学习日志(20-1-IO流-File类及文件列表操作)
- Java IO学习基础之读写文本文件
- 【Java学习笔记】日志操作
- 黑马程序员_Java基础_IO流_字符流,带缓冲区的字符流,文本文件读写
- JAVA学习第五十一课 — IO流(五)流的操作基本规律
- Java IO学习基础之读写文本文件
- Java IO学习基础之读写文本文件
- Android 学习笔记 文本文件的读写操作
- Java操作AD域LDAP操作学习日志
- [MongoDB学习日志]Java对MongoDB的CRUD操作
- [学习笔记]Java 中对文件的读写操作之比较
- Java IO学习基础之读写文本文件
- Java基础之IO流,以字节流的方式操作读写文件FileOutputStream和FileInputStream的使用
- 黑马程序员--Java学习18--IO流
- Java IO学习基础之读写文本文件
- Java学习---IO流的操作
- 黑马程序员-JAVA基础-IO流之流操作规律及读写转换流
- Java学习笔记——File类文件管理及IO读写、复制操作
- Java IO学习基础之读写文本文件