OutputStream类

A类,使用其 实例化的子类

public class OutputStreamDemo {
//      字节输出流的抽象父类
    /*
     * 1.new流对象
     * 2.write
     * 3.close
     */
    public static void main(String[] argStrings) {
        
        /*内部方法
         * write(int b)
         * write(byte[] b)
         * write(byte[] b,int start,int end)
         */
        
        /*
         * 子类
         * ByteArrayOutputStream
         * FileOutputStream
         */
        
        FileOutputStreamDemo.func();
    }
    
    static class FileOutputStreamDemo{
        public static void func() {
            try {
//              没有文件时,可以同时执行创建
                FileOutputStream fileOutputStream=new FileOutputStream("e:\\fileOut.txt");
//              写字节
                fileOutputStream.write(100);
//              写字符串 getBytes()
                fileOutputStream.write("dddd".getBytes());
                fileOutputStream.close();
                
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        
        public static void func2() {
//          追加与换行
            
//          追加:文件输出流FileOutputStream的构造重载,设定第二个参数位true
            File file=new File("e:\\fileOut.txt");
            try {
                FileOutputStream fileOutputStream=new FileOutputStream(file,true);
                
//              换行:\r\n
                fileOutputStream.write("333\r\n".getBytes());
                fileOutputStream.write("333".getBytes());
                fileOutputStream.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
        
        public static void func3() {
//          流对象异常处理 标准写法
            File file=new File("e:\\fileOut.txt");
            FileOutputStream fileOutputStream=null;
            try {
                fileOutputStream=new FileOutputStream(file);
                fileOutputStream.write("100".getBytes());
                
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
//              抛出运行时异常,停止程序
                throw new RuntimeException("写入失败");
            } finally {
                try {
//                  预防 输出流对象创建失败无需关闭
                    if (fileOutputStream!=null) {
                        fileOutputStream.close();
                    }
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

        }
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。