• 文件的输入输出


    OutputStream###

    public static void main(String[] args) throws IOException{
            FileOutputStream fos = new FileOutputStream("D:\1.txt");
                String s = "hello";
                fos.write(s.getBytes());
                
                fos.flush();
                fos.close();    
        }
    

    InputStream###

    public static void main(String[] args) throws IOException{
            FileInputStream fis = new FileInputStream("D:\src\1.txt");
            /*
            int ch;
            while((ch = fis.read()) != -1) {
                System.out.print((char)ch);
            }
            */
            //定义一个刚刚好的缓冲区,不用再循环了
            byte[] buf = new byte[fis.available()];
            fis.read(buf);
            System.out.println(new String(buf));
            fis.close();
        }
    

    Reader###

    public static void main(String[] args) throws IOException{
            //创建一个文件读取流对象,和指定名称的文件相关连
            //如果文件不存在,会发成异常FileNotFoundException
            FileReader fr = new FileReader("D:\src\1.txt");
            
            /*方法一
            //调用读取流对象的read方法
            //read() 一次读一个字符,而且会自动往下读
            
            int ch;
            while((ch = fr.read()) != -1) {
                System.out.print((char)ch);
            }
            */
            //方法二
            //定义字符数组,用于存储读到的字符
            //read(char[]) 返回的是读到字符个数
            char[] buf = new char[1024];
            int num;
            while((num = fr.read(buf)) != -1) {
                //把buf里面的字符打包成字符串输出
                System.out.print(new String(buf, 0, num));
            }
        }
    

    Writer###

    public static void main(String[] args) throws IOException {
    		//创建一个FileWriter对象。该对象一被初始化就必须要明确被操作的文件
    		//而且该文件就会被创建到指定的目录下。如果该目录下已有同名文件,将被覆盖
    		//明确数据存放的目的地
    		FileWriter fw = new FileWriter("D:\1.txt");
    		
    		//调用Writer方法,将字符串写入到流中
    		fw.Writer("Hello");
    
    		//刷新流对象中的缓冲数据,将数据刷到目的地中
    		fw.flush();
    		
    		//关闭资源
    		//和flush的区别:刷新缓冲并关闭资源,close刷新后,流会关闭
    		fw.close();
    	}
    

    对已有文件的续写###

    public static void main(String[] args) throws IOException{
            FileWriter fw = new FileWriter("D:\1.txt", true);
            
            fw.write("
    world!");    // 
     换行续写
            fw.close();
        }
    

    文件的拷贝###

    public static void main(String[] args) throws IOException{
            //定义读取流和文件相关联
            FileReader fr = new FileReader("D:\1.txt");
            //创建目的地
            FileWriter fw = new FileWriter("D:\2.txt");
            char[] buf = new char[1024];
            int len;
            //通过不断读写来拷贝数据
            while((len = fr.read(buf)) != -1) {
                fw.write(buf, 0, len);
            }
            fw.close();
            fr.close();
        }
    

    IO异常的处理###

    public static void main(String[] args) {
            FileWriter fw = null;
            try {
                fw = new FileWriter("D:\1.txt");
                fw.write("Hello");
            } catch (IOException e) {
                System.out.println("User: "+e.toString());
            } finally {
                try {
                    if(fw != null) {
                        fw.close();
                    } 
                } catch (IOException e) {
                        System.out.println("User: "+e.toString());
                }
            }
        }
    
  • 相关阅读:
    一键保存网页为PDF
    Redis使用总结之与Memcached异同
    wxWidgets的安装编译、相关配置、问题分析处理
    python抓取网页图片
    bootstrap插件学习-bootstrap.popover.js
    CC.NET模板简化配置
    密码技术应用系列之开篇
    【Cocos2d-X开发学习笔记】第05期:渲染框架之布景层类(CCLayer)的使用
    ImageMagick还是GraphicsMagick?
    RESTClient 控件 从服务器获得数据集 REST
  • 原文地址:https://www.cnblogs.com/rancvl/p/5439033.html
Copyright © 2020-2023  润新知