• JAVA笔记24-IO流(2)-节点流举例


    节点流类型

    例1:

    import java.io.*;
    public class TestFileInputStream{
        public static void main(String args[]){
            int b = 0 ;
            FileInputStream in = null ;
            try{
                in = new FileInputStream("TestFileInputStream.java");
            }catch(FileNotFoundException e){
                System.out.println("找不到文件");
                System.exit(-1);//非正常退出
            }
            try{
                long num = 0;
                while ((b=in.read()) != -1){
                    System.out.print((char)b);
                    num++;
                }
                in.close();
                System.out.println();
                System.out.println("共读取了"+num+"个字节");
            }catch(IOException e){
                System.out.println("文件读取错误");
                System.exit(-1);
            }
        }
    }

    注意:输出中文的部分显示为“?”。解决方法:用字符流。

    例2:

    import java.io.*;
    public class TestFileOutputStream{
        public static void main(String args[]){
            int b = 0 ;
            FileInputStream in = null ;
            FileOutputStream out = null ;
            try{
                in = new FileInputStream("TestFile.java");
                out = new FileOutputStream("d:/TestFile.java");
                while((b=in.read()) != -1){
                    out.write(b);
                }
                in.close();
                out.close();
            }catch(FileNotFoundException e){
            System.out.println("找不到指定文件");
            System.exit(-1);
            }catch(IOException e){
                System.out.println("文件复制错误");
                System.exit(-1);
            }
                System.out.println("文件已复制");
        }
    }

    例3

    import java.io.*;
    public class TestFileReader{
        public static void main(String args[]){
            int c = 0 ;
            FileReader fr = null ;
            try{
                fr = new FileReader("TestFile.java");
                while((c = fr.read()) != -1){
                    System.out.print((char)c);
                }
                fr.close();
            }catch(FileNotFoundException e){
            System.out.println("找不到指定文件");
            }catch(IOException e){
                System.out.println("文件读取错误");
            }
        }
    }

    输出中文可以打印出来

    例4:char 2个字节 最大65535.系统只能自动新建文件,但不能自动新建目录

    import java.io.*;
    public class TestFileWriter{
        public static void main(String args[]){
            FileWriter fw = null ;
            try{
                fw = new FileWriter("TestFile.java");
                for(int c=0;c<=50000;c++){
                    fw.write(c);
                }
                fw.close();
            }catch(IOException e){
                e.printStackTrace();
                System.out.println("文件写入错误");
                System.exit(-1);
            }
        }
    }

    例5:复制文件的练习题 使用FileReader FileWriter

    import java.io.*;
    public class TestCopyByMyself{
        public static void main(String args[]){
            FileReader fr = null ;
            FileWriter fw = null ;
            int c = 0;    
            try{
                fr = new FileReader("TestCopyByMyself.java");
                fw = new FileWriter("TestFile.java");//文件不存在的话会自动生成,但目录如果不存在不可以自动生成
                while((c=fr.read()) != -1){
                    fw.write(c);
                }
                fr.close();
                fw.close();
            }catch(FileNotFoundException e){
                System.out.println("找不到文件");
                System.exit(-1);//非正常退出
            }catch(IOException e){
                System.out.println("文件复制错误");
                System.exit(-1);
            }
            System.out.println("文件已复制");
        }
    }
  • 相关阅读:
    CF938E Max History
    经典论文系列 | 目标检测--CornerNet & 又名 anchor boxes的缺陷
    在 Intenseye,为什么我们选择 Linkerd2 作为 Service Mesh 工具(Part.2)
    在 Intenseye,为什么我们选择 Linkerd2 作为 Service Mesh 工具(Part.1)
    Java概述
    算法 --- 二分法 冒泡排序 递归 快速排序
    二维数组
    数组
    SNMP "Simple Network Management Protocol" "简单网络管理协议"。
    常用api --- BigDecimal 包装类 Integer Arrays
  • 原文地址:https://www.cnblogs.com/seven7seven/p/3680767.html
Copyright © 2020-2023  润新知