IO之字符流实例:

2018-08-11  本文已影响0人  公子请留步LookMe

输出案例:

filewriter的构造器方法:

1. FileWriter(File file) 
          根据给定的 File 对象构造一个 FileWriter 对象。
 
2.FileWriter(String fileName, boolean append)
 ------追加方法
普通输出实例:

1.helloword输出文件:

package io_Demo1;


import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class IODemo1 {
    public static void main(String[] args) {
        //创建文件
        File file = new File("a.txt");
        FileWriter fw=null;
        //创建输出的对象
        try {
            //创建输出的对象
             fw  = new FileWriter(file);
             //把内容写入文件
             fw.write("helloworld");
             //清除缓存区
             fw.flush();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            if(fw != null) {
                try {
                    //close关闭输出流时会清理缓存区
                    fw.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }

}

2.helloworld执行100缓冲区的最适位置:

    public static void main(String[] args) {
        //创建文件
        File file = new File("a.txt");
        FileWriter fw=null;
        //创建输出的对象
        try {
            //创建输出的对象
             fw  = new FileWriter(file);
             //把内容写入文件
             for(int i=0;i<100;i++) {
                 fw.write("helloworld");
                if(i%10 ==0) {
                    fw.flush(); 
                 }
             }
             //清除缓存区
            fw.flush();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            if(fw != null) {
                try {
                    //close关闭输出流时会清理缓存区
                    fw.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }


追加输入文件:
package io_Demo1;


import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class IODemo1 {
    public static void main(String[] args) {
        //创建文件
        File file = new File("a.txt");
        FileWriter fw=null;
        //创建输出的对象
        try {
            //创建输出的对象
             fw  = new FileWriter(file,true);
             //把内容写入文件
             for(int i=0;i<100;i++) {
                 fw.write("abc"+i+"\r\n");//Windows换行
                 
                if(i%10 ==0) {
                    fw.flush(); 
                 }
             }
             //清除缓存区
            fw.flush();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            if(fw != null) {
                try {
                    //close关闭输出流时会清理缓存区
                    fw.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }

}
输入流案例

1.读取单个字符案例

package io_Demo1;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class IODemoreader1 {
    public static void main(String[] args) {
        Reader1();
    }
    static void Reader1(){
    FileReader fr=null;
    try {
        //创建输入流对象 
        fr=new FileReader("a.txt");
        //写入方法
        //第一种方法 
        try {
            for(int i=0;i<=12;i++) {
            int number = fr.read();
            if(number == -1) {
                try {
                    System.out.println("越界");
                } catch(Exception e) {
                    e.printStackTrace();
                }
            }
            //第二种方法(最恰当的)
            int number = 0;
            //如果文件读取完毕,判断结束的标志
            while((number = fr.read()) != -1) {
            System.out.println((char)number);
            }           
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }finally {
        if(fr != null) {
            try {
                fr.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                }
            }
        }
    }   
}

2.把读取的字符写入数组:

package io_Demo1;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class IODemoreader1 {
    public static void main(String[] args) {
        Reader1();
    }
    static void Reader1(){
    FileReader fr=null;
    try {
        //创建输入流对象 
        fr=new FileReader("a.txt");
        //写入方法 
        try {
            char[] chas = new char[1024];
            int nu1 = 0;
            while((nu1 = fr.read(chas) )!= -1){
                System.out.println(nu1);
                System.out.println(new String(chas,0,nu1));
            }
            
            
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }finally {
        if(fr != null) {
            try {
                fr.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                }
            }
        }
    }   
}

上一篇下一篇

猜你喜欢

热点阅读