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