打印流、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); } }