java中IO实现本地文件或目录的操作
package cn.Maven_Test;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
public class Take_File {
public static void main(String[] args) throws Exception {
String stringPath = "E:\\Desktop\\大数据第4期知识点 - 副本\\";
String copyTo = "E:\\Desktop\\新建文件夹\\";
String fileType = "doc";
File file = new File(stringPath);
File[] files = file.listFiles();
GetFile(files, fileType, copyTo);
}
private static void GetFile(File[] files, String fileType, String copyTo) throws Exception {
for (int i = 0; i < files.length; i++) {
if (files[i].isFile()) {
String tmpname = files[i].getName();
if (tmpname.endsWith(fileType)) {
CopyFile(files[i], copyTo);
}
}
if (files[i].isDirectory()) {
File[] files1 = files[i].listFiles();
GetFile(files1, fileType, copyTo);
}
}
}
private static void CopyFile(File file1, String copyTo) throws Exception {
File file2 = new File(copyTo+file1.getName());
FileInputStream fileInputStream = new FileInputStream(file1);
FileOutputStream fileOutputStream = new FileOutputStream(file2);
BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
int len;
if((len=bufferedInputStream.read())!=-1)
{
bufferedOutputStream.write(len);
}
bufferedOutputStream.close();
bufferedInputStream.close();
}
}