黑马程序员技术交流社区

标题: 帮忙分析出错误原因 [打印本页]

作者: 霍明波    时间: 2012-8-19 12:24
标题: 帮忙分析出错误原因
文件名为FileDemo.java
import java.io.*;
class FileDemo
{
        public static void main(String[] args)
        {
                FileWriter fw = null;   //之所以这样式因为写在try里面下面的close看不到
                try
                {
                        fw = new FileWriter("demo.txt");
                        fw.write("abce");       
                }
                catch (IOException e)
                {
                        System.out.println(e.toString());
                }
                finally
                {
                        if(fw!=null)
                        try
                        {
                                fw.close();
                        }
                        catch (IOException e)
                        {
                                System.out.println(e.toString());
                        }
                }
        }
}
编译时dos提示错误:
E:\>javac FileDemo.java
.\FileWriter.java:1: 错误: 类重复: FileDemo
class FileDemo
^
FileDemo.java:6: 错误: 无法访问FileWriter
                FileWriter fw = null;   //之所以这样式因为写在try里面下面的close看不到
                ^
  错误的源文件: .\FileWriter.java
    文件不包含类FileWriter
    请删除该文件或确保该文件位于正确的源路径子目录中。
2 个错误

E:\>
作者: 张忠豹    时间: 2012-8-19 12:47
很神奇,我在eclipse中运行正常!
作者: 黑马王建伟    时间: 2012-8-19 12:56
首先说明,楼主的代码我在MyEclipse8.6版本中编译运行的话,控制台没错,但没效果,建议看下我的代码,看是否能达到楼主的意思
  1. import java.io.File;
  2. import java.io.FileWriter;
  3. import java.io.IOException;

  4. public class Hello
  5. {
  6.         public static void main(String[] args)
  7.         {
  8.                 File f=new File("e:demo.txt");
  9.                 FileWriter fw = null;   //之所以这样式因为写在try里面下面的close看不到
  10.                 try
  11.                 {
  12.                         fw = new FileWriter(f);
  13.                         fw.write("abce");        
  14.                 }
  15.                 catch (IOException e)
  16.                 {
  17.                         System.out.println(e.toString());
  18.                 }
  19.                 finally
  20.                 {
  21.                         if(fw!=null)
  22.                         try
  23.                         {
  24.                                 fw.close();
  25.                         }
  26.                         catch (IOException e)
  27.                         {
  28.                                 System.out.println(e.toString());
  29.                         }
  30.                 }
  31.         }
  32. }
复制代码

作者: 李宁    时间: 2012-8-19 12:59
代码没问题,运行正常创建了正确的文本,你再检查下其它地方吧
作者: 霍明波    时间: 2012-8-19 13:40
张忠豹 发表于 2012-8-19 12:47
很神奇,我在eclipse中运行正常!

我也感觉没问题,javac的时候提示这样的错误看不明白
作者: 霍明波    时间: 2012-8-20 15:39
黑马王建伟 发表于 2012-8-19 12:56
首先说明,楼主的代码我在MyEclipse8.6版本中编译运行的话,控制台没错,但没效果,建议看下我的代码,看是 ...

已解决,望能给我指出原因
作者: 黑马王建伟    时间: 2012-8-20 15:53
图中已表明,我的代码跟你的不同之处就是这两处,你仔细看的话就能看到

未命名.jpg (12.83 KB, 下载次数: 54)

未命名.jpg

作者: 霍明波    时间: 2012-8-20 15:57
黑马王建伟 发表于 2012-8-20 15:53
图中已表明,我的代码跟你的不同之处就是这两处,你仔细看的话就能看到

...

很感谢,还是有点不懂 我在好好研究研究




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2