美文网首页
java中的各种流

java中的各种流

作者: 名字_都被占了 | 来源:发表于2018-04-27 17:32 被阅读0次

    重点是第4个中写得心得,看一看

    1:FileInputStream的用法
    package lianxi;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    
    public class LianXi {
    
        public static void main(String[] args) {
            // TODO 自动生成的方法存根
            String pathname="src\\lianxi\\LianXi.java";
            File file=new File(pathname);
            FileInputStream fInputStream;
            int length=0;
            try {
                fInputStream=new FileInputStream(file);
                try {
                    while((length=fInputStream.read())!=-1){
                        System.out.print((char)length);
                    }
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            } catch (FileNotFoundException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
        }
    
    }
    
    2:FileReader的用法
    package lianxi;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    
    public class LianXi {
    
        public static void main(String[] args) {
            // TODO 自动生成的方法存根
            String pathname="src\\lianxi\\LianXi.java";
            try {
                FileReader f=new FileReader(pathname);
                int length=0;
                try {
                    while((length=f.read())!=-1){
                        System.out.print((char)length);
                    }
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }
    
    }
    
    
    3:BufferedReader的用法
    package lianxi;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.Reader;
    
    public class LianXi {
    
        public static void main(String[] args) {
            // TODO 自动生成的方法存根
            String pathname="src\\lianxi\\LianXi.java";
            FileReader r;
            try {
                r=new FileReader(pathname);
                BufferedReader b=new BufferedReader(r);
                String s=null;
                try {
                    while((s=b.readLine())!=null){
                        System.out.println("read:"+s);
                    }
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
    }
    
    
    
    4:复制一个文件的内容到另外一个文件
    package lianxi;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.Reader;
    
    public class LianXi {
    
        public static void main(String[] args) {
            // TODO 自动生成的方法存根
            String pathname="src\\lianxi\\LianXi.java";
            FileInputStream in = null;
            FileOutputStream out = null;
            try{
                in=new FileInputStream(pathname);
                out=new FileOutputStream("C:\\Users\\2401-\\Desktop\\kelong.txt");
                int length=0;
                while((length=in.read())!=-1){
                    out.write((char)length);//这句代码可以直接替换成out.write(length);因为这是
    //向文件输出内容,所以read获取到的数字所对应的字符会以相同的方式转换回字符写进文件中,但如果是
    //输出到控制台的话,就必须要进行强制类型转换了,不然输出的就是数字,另外注意一下流的read方法返回
    //的不是所读字符所在源文件的位置,而是所读字符对应的数字编码。另外write()方法中的参数可以是一个
    //byte数组,实现一个byte数组的写入,而不是一个byte的写入,比如write("wo shi ni".getBytes())
                }
            }catch(Exception e){
                
            }
            finally{
                try {
                    out.close();
                    in.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    
    }
    

    相关文章

      网友评论

          本文标题:java中的各种流

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