java IO-文件流-文件内容复制

来源:互联网 发布:ipad上看文献知乎 编辑:程序博客网 时间:2024/05/21 08:07

文件流,就是程序和文件打交道,此时的文件是纯文本文件。
分为四个:

  • FileInputStream
  • FileOutputStream
  • FileReader
  • FileWriter

    代码演示一下:

import java.io.*;public class FilleStreamDemo {    public static void main(String[] args) throws IOException {        File file=new File("a.txt");        //1.演FileOutputStream-Writer                OutputStream out=new FileOutputStream(file,true);                //                String s="abc";                //将字符串转换为字符数组写入文件中                byte[] b=s.getBytes();                out.write(b);                out.close();        //2.演示FileInputStream-Reader        InputStream in=new FileInputStream(file);        //读取文件的信息,存储到b数组里面        in.read(b);        //输出形式为数组,【97,98,99】        System.out.println(Arrays.toString(b));        //输出形式为字符串:abc        System.out.println(new String(b));        in.close();    }}

文件复制操作-字节流

import java.io.*;public class FilleStreamDemo {    public static void main(String[] args) throws IOException {        File file=new File("a.txt");        File file2=new File("b.txt");        InputStream in = new FileInputStream(file);        OutputStream out = new FileOutputStream(file2, true);        byte[] b=new byte[4];//创建缓存区,存储读取的数据        int len=-1;//表示已经读取了多少个字节,如果len返回-1,表示已经读到最后        while((len=in.read(b))!=-1){            //打印出读取的数据            System.out.println(new String(b,0,len));            out.write(b,0,len);        }        in.close();        out.close();    }}

文件复制操作-字符流

public class FileCoDemo {    public static void main(String[] args) throws Exception {        File sre=new File("java/a.txt");        File dest=new File("java/b.txt");        Reader in=new FileReader(sre);        Writer out=new FileWriter(dest);        char[] ch=new char[1024];        int len=-1;        while((len=in.read(ch))!=-1){            System.out.println(new String(ch,0,len).toString());            out.write(ch,0,len);                    }        in.close();        out.close();            }}

文件拷贝案例-拷贝指定目录下的指定类型文件到指定目录

这里写图片描述

public class FileProjectDemo {    public static void main(String[] args) throws Exception {        //文件拷贝案例-拷贝指定目录下的指定类型文件到指定目录        //创建源目录        File sreF=new File("java");        //创建目的目录        File destF=new File("text");        //获取源目录里面的指定类型文本文件        File[] fs=sreF.listFiles(new FilenameFilter(){            @Override            public boolean accept(File dir, String name) {                //将以“.java”结尾的文件保存到数组fs里面                return new File(dir,name).isFile()&&name.endsWith(".java");            }        });        //迭代出每一个.java文件并复制。        for(File f:fs){        //创建读写流            InputStream in=new FileInputStream(f);            //将符合条件的文件复制到目录文件            OutputStream out = new FileOutputStream(new File(destF,f.getName()));            byte[] b=new byte[1024];            //对每一个文件里的内容进行复制            int len = -1;//表示已经读取了多少个字节,如果len返回-1,表示已经读到最后            while ((len = in.read(b)) != -1) {                //将缓存区b中的内容写入到指定的文件对象里                out.write(b, 0, len);            }            //关闭资源            in.close();            out.close();                        }    }}
原创粉丝点击