黑马程序员技术交流社区
标题:
求高人帮我看下到底哪错了
[打印本页]
作者:
系磊
时间:
2012-6-18 22:38
标题:
求高人帮我看下到底哪错了
这是我按照老师讲课写的一个代码实在是不知道怎么错了,以下是代码跟错误提示
import java.io.*;
import java.util.*;
class JavaFileList
{
public static void main(String[] args)throws IOException
{
File dir = new File("f:\\java");
List<File> list = new ArrayList<File>();
fileToList(dir,list);
//System.out.println(list.size());
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)
{
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)
{
throw e;
}
finally
{
try
{
if(bufw!=null)
bufw.close();
}
catch (IOException e)
{
throw e;
}
}
}
}
作者:
系磊
时间:
2012-6-18 22:41
C:\Documents and Settings\Administrator\桌面\新建文件夹
作者:
系磊
时间:
2012-6-18 22:43
图片怎么传不上来呢
作者:
系磊
时间:
2012-6-18 22:54
无法将类 JavaFileLis t中的方法 writerToFile 应用到给定类型;
writeToFile(list,file.toString());
需要:List<File>
找到:List<File>,String
原因:实际参数列表和形式参数列表长度不同
找不到符号:bufw = new BufferedWrite(new FileWriter(javaListFile));
作者:
李文龙
时间:
2012-6-18 22:55
我刚运行了一下,程序报错有两个,一个是 writeToFile(list,file.toString()); 你的参数列表和你下边写的不一致,第二个是 bufw = new BufferedWriter(new FileWriter(javaListFile)); 系统报错,找不到变量名 仔细检查程序,认真看每一行代码,你确定你都搞懂代码的意思了么
作者:
系磊
时间:
2012-6-18 22:59
李文龙 发表于 2012-6-18 22:55
我刚运行了一下,程序报错有两个,一个是 writeToFile(list,file.toString()); 你的参数列表和你下边写 ...
我知道是这2个错误啊,帮我改下啊,我实在是找不到,才接触java 菜鸟的很
作者:
余银桂
时间:
2012-6-18 23:07
import java.io.*;
import java.util.*;
class Test
{
public static void main(String[] args)throws IOException
{
File dir = new File("f:\\java");
List<File> list = new ArrayList<File>();
fileToList(dir,list);
//System.out.println(list.size());
File file = new File(dir,"javalist.txt");
writeToFile(list);
}
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)
{
BufferedWriter bufw = null;
try
{
bufw = new BufferedWriter(new FileWriter("文件路径"));
for(File f : list)
{
String path = f.getAbsolutePath();
bufw.write(path);
bufw.newLine();
bufw.flush();
}
}
catch(IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if(bufw!=null)
bufw.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
复制代码
作者:
李文龙
时间:
2012-6-18 23:13
writeToFile(list,file.toString()); 改为writeToFile(list);
bufw = new BufferedWrite(new FileWriter(javaListFile)); 改为bufw = new BufferedWrite(new FileWriter("f:\\java"));
这样就可以了,不过 throw e;报错了,你改为 System.out.println(e);
作者:
系磊
时间:
2012-6-18 23:19
谢了 才学java很多都不懂
作者:
周星星
时间:
2012-6-19 11:07
writeToFile(list,file.toString());
public static void writeToFile(List<File>list)
前面方法参数个数不同
bufw = new BufferedWriter(new FileWriter(javaListFile));
javaListFile这个变量都没定义
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2