1.将一个文件中的内容读取,然后倒叙写回
import java.io.*;
public class Test1 {
public static void main(String[] args) throws IOException {
Reader r = new FileReader("day20\\b.txt");
StringBuilder sb = new StringBuilder();
int n =0;
char[] chs= new char[1024];
if ((n=r.read(chs))!=-1){
sb.append(new String(chs,0,n));
}
Writer w = new FileWriter("day20\\b.txt");
w.write(sb.reverse().toString());
r.close();
w.close();
}
}
2.复制多级文件夹
import java.io.*;
public class Test {
public static void main(String[] args) throws IOException {
File srcFile = new File("d:\\ideawork\\doit40\\day20");
File destFile = new File("d:\\ideawork\\aaa\\bbb");
//如果为文件
if (srcFile.isFile()) {
String srcFileName = srcFile.getName(); //获取文件名
File newFile = new File(destFile, srcFileName); //创建新的目的地File对象
fileCopy(srcFile, newFile); //复制文件
} else {
copyFolder(srcFile, destFile);
}
}
public static void fileCopy(File srcfile,File desfile) throws IOException {
InputStream in = new FileInputStream(srcfile);
OutputStream out = new FileOutputStream(desfile);
byte[] bys = new byte[1024];
int len;
while((len=in.read())!=-1){
out.write(bys,0,len);
}
out.close();
in.close();
}
//复制文件夹
private static void copyFolder(File srcFile, File destFile) throws IOException {
if (srcFile.isDirectory()) {
String srcFileName = srcFile.getName();
File newFolder = new File(destFile, srcFileName);
if (!newFolder.exists()) {
newFolder.mkdir();
}
File[] listFiles = srcFile.listFiles();
// 遍历test目录下所有的文件
for (File file : listFiles) {
copyFolder(file, newFolder);
}
} else {
String srcFileName = srcFile.getName();
File newFile = new File(destFile, srcFileName);
fileCopy(srcFile, newFile);
}
}
}