黑马程序员技术交流社区
标题:
创建文件列表问题
[打印本页]
作者:
wangqing
时间:
2011-11-18 21:20
标题:
创建文件列表问题
本帖最后由 wangqing 于 2011-11-27 13:34 编辑
/*
将一个指定目录下的java文件的绝对路径,存储到一个文本文件中,建立一个java文件列表清单
*/
package com.day20;
import java.awt.List;
import java.io.*;
import java.util.*;
public class JavaFileList {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
File dir=new File("d:\\java");
List<File> list=new ArrayList<File>();
fileToList(dir,list);
File file=new File(dir,"javalist.txt");
writeToFile(list,file.toString());
}
public static void fileToList(File dir,List<File> list)
{
File[] files=dir.listFiles();
for(File file :files)
{
if(file.isDirectory())
fileToList(file,list);
else
{
if(file.getName().endsWith(".java"));
list.add(file);
}
}
}
public static void writeToFile(List<File> list,String javaListFile)
{
BufferedWriter bufw=null;
try {
bufw=new BufferedWriter(new FileWriter(javaListFile));
for(File f :list)
{
String path=f.getAbsolutePath();
bufw.write(path);
bufw.newLine();
bufw.flush();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
if(bufw!=null)
{
bufw.close();
}
}
}
}
为什么会出现下面的问题:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The type List is not generic; it cannot be parameterized with arguments <File>
at com.day20.JavaFileList.main(JavaFileList.java:26)
求高手解决,谢谢!
作者:
徐杨
时间:
2011-11-18 23:53
我刚读了第二行就发现问题了
import java.awt.List;
你属于导包导错了,awt是UI的list 你应该导入集合的list 我建议你不用导入import java.util.*;
而应该使用eclipse下的ctrl+shift+o 来自动导入相应的包,这样可以节省空间,提高运行效率
删除第二行后
发现 62行bufw.close() 没有处理异常,可以抛也可以环绕处理
如果是抛异常处理的话,第20行 writeToFile(list,file.toString()); 再抛
程序就可以通过编译了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2