黑马程序员技术交流社区

标题: 关于导包及错误提示的原因 [打印本页]

作者: 影凡    时间: 2013-12-29 22:48
标题: 关于导包及错误提示的原因
程序是这样的:
import java.io.*;
class FileWriterDemo
{
public static void main(String[] args)throws IOException
{
  FileWriter fw = new FileWriter("demo.txt");
  
  fw.write("abcds");
}
}

运行后的错误提示:
D:\java0217\day18>java FileWriterDemo
错误: 找不到或无法加载主类 FileWriterDemo


再问下最开始的那个:import java.io.*;//这个导包是怎么样设置的,越详细越好。


作者: hurryup    时间: 2013-12-30 01:00
你程序没问题啊 我能正常运行,只是你的输出不完整,不能向文本中写入内容。
我帮你修改了一下:
  1. import java.io.*;
  2. class FileWriterDemo
  3. {
  4. public static void main(String[] args)throws IOException
  5. {
  6.   FileWriter fw = new FileWriter("demo.txt");
  7.   
  8.   fw.write("abcds");
  9. fw.flush();//把流中的内容刷进目标文件里
  10. fw.close();
  11. }
  12. }
复制代码

作者: 影凡    时间: 2013-12-30 01:19
hurryup 发表于 2013-12-30 01:00
你程序没问题啊 我能正常运行,只是你的输出不完整,不能向文本中写入内容。
我帮你修改了一下:
...

我找到原因了,其实不写全也是可以的~不写全的话可以看到创建了一个txt的文本。我看到你运行是好着的状况,我重新安装了下我的UltraEdit.然后再运行下就好了,可能是我把JDK的某个文件夹给误删了,导致运行不通过~谢谢你~
作者: 浮出一个美    时间: 2013-12-30 08:48
FileWriter fw = new FileWriter("demo.txt");//在当前目录下创建一个demo.txt文件,如果存在,则覆盖。除非是append追加模式。
fw.write("abcds");//将字符流写进缓冲区,转换成字节流,还有一些编码动作
fw.flush();//把流中的内容刷进目标文件里
fw.close();//刷新流并关闭连接,所以,fw.flush()其实可以不要。
但是为了意外发生,比如说突然断电了,流中的数据就不能写到目的地,所以读一点,刷一单比较安全,不过效率就低了
作者: 布鲁Go    时间: 2013-12-30 10:18
本帖最后由 布鲁Go 于 2013-12-30 10:20 编辑

其实,你的错误提示是:
错误: 找不到或无法加载主类 FileWriterDemo

一般就是文件名错误,或者文件不存在当前路径的提示。。。和导入无关的。
因为。。无法加载的是“主类”,也就是你有main函数的这个类加载不进来。。
所以应该查看类名是不是少了字母或者储存路径错了。

而如果是忘了   import  的话,提示一般是这样的:
错误,找不到符号。  

然后会提示你小尖号提示你哪个符号找不到,一般就是忘了导入有这个类的类库了。

顺便说一下“这个找不到符号”的意思:其实就是说,兄弟,你都没定义一下这个东东啊,我不认识。赶紧定义一个。。然后你导入一个包后,编译器在编译的时候,顺着这个包名找到了这个名字的意思,也就是明白了这个“符号”的意思。

恩,说的有点啰嗦,不过是个人理解,希望对你有帮助。











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