黑马程序员——io流之字符流
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
1.字符流——创建文件
A:创建流对象,建立数据存放文件
FileWriter fw = new FileWriter(“Test.txt”);
B:调用流对象的写入方法,将数据写入流
fw.write(“text”);
C:关闭流资源,并将流中的数据清空到文件中。
?fw.close();
2.字符流——读取文件
A:建立一个流对象,和指定的文件数据关联。
FileReader fr = new FileReader(“Test.txt”);
B:创建一个临时存放数据的数组。
char[] ch = new char[1024];
C:调用流对象的读取方法将流中的数据读入到数组中。
fr.read(ch);
3.注意:
A;定义文件路径时,可以用“/”或者“\\”。
B:在创建一个文件时,如果目录下有同名文件将被覆盖。
C:在读取文件时,必须保证该文件已存在,否则出异常。
4.字符流案例之复制文本文件并进行异常处理
/*
请用两种方式复制文本文件F:\xp.txt
*/
//倒入所需要的包和类
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CopyTest{
?public static void main(String[]args){
//调用方法,因为方法是静态的,默认使用类名调用
??copy1();
??copy2();?
??
?}
//定义copy2方法,这个方法使用的是一次读取一个字符数组的方法
?public static void copy2(){
??FileReader fr=null;
??FileWriter fw=null;
??try{
???fr=new FileReader("F:\\xp.txt");
???fw=new FileWriter("G:\\win7.txt");
???char[] ch=new char[1024];
???int len=0;
???while((len=fr.read(ch))!=-1){
????fw.write(ch,0,len);
????fw.flush();
???}
??}catch(IOException e){
???throw new RuntimeException("du xie shi bai");
??}finally{
???try{
????if(fw!=null)
?????fw.close();
???}catch(IOException e){
????throw new RuntimeException("xie ru guan bi shi bai");
???}
?//判断关闭字符流对象??
???try{
????if(fr!=null)
?????fr.close();
???}catch(IOException e){
????throw new RuntimeException("du ru guan bi shi bai");
???}
??}
?}
//定义方法copy1,这个方法使用的字符流中一次读写一个字符的方法,方法比较低效
?public? static void copy1(){
??FileReader fr=null;
??FileWriter fw=null;
??try{
???fr=new FileReader("F:\\xp.txt");
???fw=new FileWriter("G:\\win8.txt");
???int ch=0;
???while((ch=fr.read())!=-1){
????fw.write(ch);
???}
???
??}catch(IOException e){
???throw new RuntimeException("du xie shi bai");
??}finally{
???try{
????if(fw!=null)
?????fw.close();
???}catch(IOException e){
????throw new RuntimeException("xie ru guan bi shi bai");
???}
???try{
????if(fr!=null)
?????fr.close();
???}catch(IOException e){
????throw new RuntimeException("du ru guan bi shi bai");
???}
??}
?}
}
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 详细请查看:http://edu.csdn.net