打印流,,, commons-IO

                                              打印流

打印流根据流的分类:

l  字节打印流  PrintStream

l  字符打印流  PrintWriter

 /* 
 * 需求:把指定的数据,写入到printFile.txt文件中
 * 
 * 分析:
 *     1,创建流
 *     2,写数据
 *     3,关闭流
 */
public class PrintWriterDemo {
    public static void main(String[] args) throws IOException {
        //创建流
        //PrintWriter out = new PrintWriter(new FileWriter("printFile.txt"));
        PrintWriter out = new PrintWriter("printFile.txt");
        //2,写数据
        for (int i=0; i<5; i++) {
            out.println("helloWorld");
        }
        //3,关闭流
        out.close();
    }
}

                打印流完成数据自动刷新

 

可以通过构造方法,完成文件数据的自动刷新功能

l  构造方法:

l  开启文件自动刷新写入功能

public PrintWriter(OutputStream out, boolean autoFlush)

public PrintWriter(Writer out, boolean autoFlush)

 /* 
 * 分析:
 *     1,创建流
 *     2,写数据
 */
public class PrintWriterDemo2 {
    public static void main(String[] args) throws IOException {
        //创建流
        PrintWriter out = new PrintWriter(new FileWriter("printFile.txt"), true);
        //2,写数据
        for (int i=0; i<5; i++) {
            out.println("helloWorld");
        }
        //3,关闭流
        out.close();
    }
}

 

复制文件

public class Demo02 {
public static void main(String[] args) throws IOException {
    //文件复制
    FileReader fr=new FileReader("D:\\io0512\\print.txt");
    //添加缓冲流
    BufferedReader br=new BufferedReader(fr);
    //明确目的地
    FileWriter fw=new FileWriter("D:\\io0512\\a\\print.txt");//续写加true
    //添加打印流
    PrintWriter pw=new PrintWriter(fw,true);//开启文件自动刷新写入功能
    //开始复制
    String len=null;
    while((len=br.readLine())!=null){
        pw.println(len);
    }
    br.close();
    pw.close();
    
}
}

     commons-IO

                导入classpath

加入classpath的第三方jar包内的class文件才能在项目中使用

创建lib文件夹

将commons-io.jar拷贝到lib文件夹

右键点击commons-io.jar,Build Path→Add to Build Path

1.1                FilenameUtils

这个工具类是用来处理文件名(译者注:包含文件路径)的,他可以轻松解决不同操作系统文件名称规范不同的问题

l  常用方法:

getExtension(String path):获取文件的扩展名;

getName(String filename):获取文件名;

isExtension(String fileName,String ext):判断fileName是否是ext后缀名;

 

public class Demo03 {
public static void main(String[] args) {
    //获取文件拓展名,打印txt
    String ext=FilenameUtils.getExtension("D:\\io0512\\print.txt");
    System.out.println(ext);
    //获取文件名,打印print.txt
    String filename=FilenameUtils.getName("D:\\io0512\\print.txt");
    System.out.println(filename);
    //判断filename是否是ext后缀名
    boolean flsg=FilenameUtils.isExtension(filename, ext);
    System.out.println(flsg);
}
}

 

1.1                FileUtils

提供文件操作(移动文件,读取文件,检查文件是否存在等等)的方法。

l  常用方法:

readFileToString(File file):读取文件内容,并返回一个String;

writeStringToFile(File file,String content):将内容content写入到file中;

copyDirectoryToDirectory(File srcDir,File destDir);文件夹复制

copyFile(File srcFile,File destFile);文件复制

/*
 * 完成文件的复制
 */
public class CommonsIODemo01 {
    public static void main(String[] args) throws IOException {
        //method1("D:\\test.avi", "D:\\copy.avi");
        
        //通过Commons-IO完成了文件复制的功能
        FileUtils.copyFile(new File("D:\\test.avi"), new File("D:\\copy.avi"));
    }

    //文件的复制
    private static void method1(String src, String dest) throws IOException {
        //1,指定数据源 
        BufferedInputStream in = new BufferedInputStream(new FileInputStream(src));
        //2,指定目的地
        BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(dest));
        //3,读
        byte[] buffer = new byte[1024];
        int len = -1;
        while ( (len = in.read(buffer)) != -1) {
            //4,写
            out.write(buffer, 0, len);
        }
        //5,关闭流
        in.close();
        out.close();
    }
}

/*
 * 完成文件、文件夹的复制
 */
public class CommonsIODemo02 {
    public static void main(String[] args) throws IOException {
        //通过Commons-IO完成了文件复制的功能
        FileUtils.copyFile(new File("D:\\test.avi"), new File("D:\\copy.avi"));
        
        //通过Commons-IO完成了文件夹复制的功能
        //D:\基础班 复制到 C:\\abc文件夹下
        FileUtils.copyDirectoryToDirectory(new File("D:\\基础班"), new File("C:\\abc"));
    }
}

 

posted @ 2020-08-03 10:31  wangmeihao  阅读(94)  评论(0编辑  收藏  举报