黑马程序员技术交流社区
标题:
老是报错 谁给我解决下
[打印本页]
作者:
王晓杰
时间:
2015-1-11 10:26
标题:
老是报错 谁给我解决下
import java.io.*;
import java.util.*;
public class Test10 {
public static void main(String[]agrs) throws IOException
{
File f = new File("D:");
List<File> list = new ArrayList<File>();
new Demo001().Demo022(f,list);
System.out.println(list.size());
new Demo002().cha(list);
}
}
/*
* 创建一个集合存储 txt文件的名 遍历集合
* 创建一个文件对象
* 遍历这个文件对象
* 查找这个文件对象中的目标文件
* 把目标文件的文件名存入集合中
* 遍历集合 导入的字符流中
*
* 字符流写入TXT文件
*
*/
class Demo001
{
public void Demo022(File f,List<File> list) throws IOException
{
File [] files = f.listFiles();
for(int x = 0; x < files.length; x++)
{
if(files[x].isDirectory())
{
new Demo001().Demo022(files[x],list);
}else{
if(files[x].getName().endsWith(".java"))
{
list.add(files[x]);
}
}
}
}
}
//list中的对象取出来存储到Writer中
class Demo002
{
public void cha(List<File> list) throws IOException
{
FileWriter fw = new FileWriter("C:\\Users\\Administrator\\Desktop\\新建文本文档.txt");
BufferedWriter bufw = new BufferedWriter(fw);
for(File f:list)
{
String path = f.getAbsolutePath();
bufw.write(path);
bufw.newLine();
bufw.flush();
}
/*File f = null;
for(int x = 0; x < list.size(); x++)
{
f = list[x];
}*/
}
}
复制代码
作者:
寻觅
时间:
2015-1-12 00:24
帮你顶一下
作者:
qq8921310
时间:
2015-1-12 22:44
你起码把报的错误说一下啊,而且你这个名称看起来很累
作者:
qq8921310
时间:
2015-1-12 23:04
package test1;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
/*
* 包含txt的文件名写入txt文本中
*
* */
public class day22 {
public static void main(String[] args) throws IOException {
File file = new File("E:\\java11");
ArrayList<File> al = new ArrayList<File>();
File dest = new File("D:\\javainfo.txt");
add(file,al);//将含有java的文件存入集合中
list(al,dest);//遍历集合,将文件名写入文本中
}
private static void list(ArrayList<File> al, File dest) throws IOException {
// TODO Auto-generated method stub
BufferedWriter bufw = new BufferedWriter(new FileWriter(dest));
for(File f : al)
{
String path = f.getAbsolutePath();
bufw.write(path);
bufw.newLine();
bufw.flush();
}
bufw.close();
}
private static void add(File file, ArrayList<File> al) {
// TODO Auto-generated method stub
File[] files = file.listFiles();
for(File f :files)
{
if(f.isDirectory())
{
add(f,al);
}else{
if(f.getName().endsWith(".java"))
al.add(f);
}
}
}
}
复制代码
我写了一个,你参考一下。
作者:
vermouth
时间:
2015-1-13 10:08
new Demo001().Demo022(files[x],list);
这里没有必要创建新对象递归。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2