美文网首页
IO之字符流实例:

IO之字符流实例:

作者: 公子请留步LookMe | 来源:发表于2018-08-11 16:53 被阅读0次

    输出案例:

    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();
                    }
                }
            }
        }   
    }
    
    

    相关文章

      网友评论

          本文标题:IO之字符流实例:

          本文链接:https://www.haomeiwen.com/subject/wuplbftx.html