打印流、commons-IO

打印流
字节打印流    PrintStream
字符打印流    PrintWriter
方法:
void print(String str): 输出任意类型的数据,
void println(String str): 输出任意类型的数据,自动写入换行操作


import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;

public class Demo02 {
    public static void main(String[] args) throws IOException {
        method1();
        method2();
        copy();
    }
    //打印流永远不会抛IO异常   只有输出目的地
    //字节打印流写入和续写    
    public static void method1() throws FileNotFoundException{
        FileOutputStream fos=new FileOutputStream("E:\\java\\print.txt",true);
        PrintStream ps=new PrintStream(fos);
        ps.print(100);//原样输出
        ps.println("嗨");
        ps.println("嗨");
        ps.close();
    }
    //字符打印流
    public static void method2() throws FileNotFoundException{
        //创建自动刷新的字符打印流
        FileOutputStream fos=new FileOutputStream("E:\\java\\print.txt");
        PrintWriter pw=new PrintWriter(fos,true);
        pw.println("嗨");
        pw.print("啊");
        pw.close();
    }
    //打印流复制文件
    public static void copy() throws IOException{
        FileReader fr=new FileReader("E:\\java\\print.txt");
        BufferedReader br=new BufferedReader(fr);
        FileWriter fw=new FileWriter("E:\\java\\a\\print.txt");
        PrintWriter pw=new PrintWriter(fw,true);
        String line="";
        while((line=br.readLine())!=null){
            pw.println(line);
        }
        br.close();
        pw.close();
    }
}
commons-IO
导入classpath
加入classpath的第三方jar包内的class文件才能在项目中使用
创建lib文件夹
将commons-io.jar拷贝到lib文件夹
右键点击commons-io.jar,Build Path→Add to Build Path
FilenameUtils
这个工具类是用来处理文件名(译者注:包含文件路径)的,他可以轻松解决不同操作系统文件名称规范不同的问题
常用方法:
getExtension(String path):获取文件的扩展名;
getName():获取文件名;
isExtension(String fileName,String ext):判断fileName是否是ext后缀名;
FileUtils
提供文件操作(移动文件,读取文件,检查文件是否存在等等)的方法。
常用方法:
readFileToString(File file):读取文件内容,并返回一个String;
writeStringToFile(File file,String content):将内容content写入到file中;
copyDirectoryToDirectory(File srcDir,File destDir);文件夹复制
copyFile(File srcFile,File destFile);文件复制


import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;

public class Demo03 {
    public static void main(String[] args) throws IOException {
        //method1();
        //method2();
        //method3();
        method4();
    }
    //处理文件名的工具
    public static void method1(){
        //获取文件扩展名
        String ext=FilenameUtils.getExtension("E:\\java\\demo.txt");
        System.out.println(ext);
        //获取文件名
        String filename=FilenameUtils.getName("E:\\java\\demo.txt");
        System.out.println(filename);
        //判断是否是java文件
        boolean flag=FilenameUtils.isExtension("E:\\java\\demo.txt", "java");
        System.out.println(flag);
    }
    public static void method2() throws IOException{
        File file=new File("E:\\java\\demo.txt");
        String content=FileUtils.readFileToString(file);
        System.out.println(content);
    }
    public static void method3() throws IOException{
        File file=new File("E:\\java\\demo.txt");
        FileUtils.write(file, "你好");
    }
    public static void method4() throws IOException{
        //复制文件夹
        File file=new File("E:\\java");
        File file1=new File("F:\\java");
        FileUtils.copyDirectoryToDirectory(file, file1);
    }
    public static void method5() throws IOException{
        //复制文件
        File file=new File("E:\\java\\print.txt");
        File file1=new File("E:\\java\\e\\print.txt");
        FileUtils.copyFile(file, file1);
    }
}

 

posted @ 2019-01-10 10:00  帅涛  阅读(141)  评论(0编辑  收藏  举报