FileInputStream写文件易忽略点

Posted on 2018-07-26 21:10  alavender  阅读(131)  评论(0编辑  收藏  举报

FileInputStream主要用来创建输出文件流以写入具有指定名称的文件。

根目录存在的情况下,如果文件不存在,则会生成新的文件,如果文件已经存在,则会去覆盖;
但如果根目录不存在,它并不会自动的创建,此时,会抛出java.io.FileNotFoundException(系统找不到指定的路径。)
此时,就需要我们先去创建该目录,再去写入数据。

    int len = 0;
    byte[] data = new byte[1024];  
    String dest = "D:\\photo\\travel\\xian\\1.jpg";

    File file = new File("D:\\photo\\travel\\1.jpg");
    File file1 = new File("D:\\photo\\travel\\xian\\");
    file1.mkdirs();//目录不存在需要先创建
    try{
        FileInputStream in = new FileInputStream(file);

        FileOutputStream foutputStream = new FileOutputStream(dest);
        while((len = in.read(data))!=-1){
            foutputStream.write(data, 0, len);
            }
        }catch(Exception e){
        e.printStackTrace();
    }