练习三: 给定一个目录,列出当前目录下的指定文件 然后输出到指定的文件中
把指定的文件夹 J1093WorkSpace 下 所有的.txt 文件 全部输出到在 list.txt中
import java.awt.List;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileFilter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.*;
public class filecopy {
@SuppressWarnings("null")
public static void main(String[] args) throws Exception{
File file=new File("E:/doc文件");
java.util.List<File> list = new ArrayList<File>();
FileFilter ff=new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.getName().endsWith(".doc");
}
};
delet1(file,ff,list);
File newfle=new File("i:/abc.txt");
writetofile(newfle, list);
}
public static void delet1(File dir,FileFilter ff,java.util.List<File>list)
{
File[] files=dir.listFiles();
for(File f:files){
if(f.isDirectory())
{
delet1(f,ff,list);
}
else{
if(ff.accept(f)) list.add(f);
}
}
}
/**
* @param file
* @param list
*/
public static void writetofile(File file,java.util.List<File>list) {
BufferedWriter bw=null;
try {
bw=new BufferedWriter(new FileWriter(file));
for(File l:list){
bw.write(l.getAbsolutePath());
bw.newLine();
bw.flush();
}
} catch (IOException e) {
e.printStackTrace();
}
finally{
if(bw!=null){
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
把指定的文件夹 J1093WorkSpace 下 所有的.txt 文件 全部输出到在 list.txt中
视频看了是简单,真的上手,很难,要多练
package IOStream;
import java.awt.List;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileFilter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.*;
public class filecopy {
@SuppressWarnings("null")
public static void main(String[] args) throws Exception{
File file=new File("E:/doc文件");
java.util.List<File> list = new ArrayList<File>();
FileFilter ff=new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.getName().endsWith(".doc");
}
};
delet1(file,ff,list);
File newfle=new File("i:/abc.txt");
writetofile(newfle, list);
}
public static void delet1(File dir,FileFilter ff,java.util.List<File>list)
{
File[] files=dir.listFiles();
for(File f:files){
if(f.isDirectory())
{
delet1(f,ff,list);
}
else{
if(ff.accept(f)) list.add(f);
}
}
}
/**
* @param file
* @param list
*/
public static void writetofile(File file,java.util.List<File>list) {
BufferedWriter bw=null;
try {
bw=new BufferedWriter(new FileWriter(file));
for(File l:list){
bw.write(l.getAbsolutePath());
bw.newLine();
bw.flush();
}
} catch (IOException e) {
e.printStackTrace();
}
finally{
if(bw!=null){
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}