首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

|救命!| 文件读取异常

2012-08-21 
|救命!| 文件读取错误我用eclipse建了个工程import java.io.*public class TestFile {public static void

|救命!| 文件读取错误
我用eclipse建了个工程


import java.io.*;


public class TestFile {
public static void main(String[] args) {
FileWriter fw = new FileWriter("test.txt");
PrintWriter pw = new PrintWriter("test2.txt");
pw.print("");
}
}

但问什么老是报异常
Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
Unhandled exception type IOException
Unhandled exception type FileNotFoundException

at TestFile.main(TestFile.java:6)

请问到底什么地方不对?请指教

[解决办法]
需要捕捉异常
try catch
[解决办法]
原因是没有捕获异常,代码编译通不过。
在使用FileWriter,PrintWriter这个两个类的构造方法都会抛出IOException,因为在写文件的时候会判断文件是否存在,比如:FileWriter fw = new FileWriter("k://test.txt");使用k://test.txt这样一个目录,显然硬盘上是不存在这样一个文件和盘符的,所以必须要捕获异常。你如果是用文本编辑器来写程序的话,建议遇到错误 ,先查查API文档。用eclipse或其它IDE开发工具,像这种错误都会时时提示你的。希望能帮到你!
[解决办法]
如无意外,文件不存在
[解决办法]
准确来说,是文件路径下的文件不存在
[解决办法]

try{
你的代码
}catch(Exception e){
}
包裹
[解决办法]
FileNotFoundException文件不存在
读取数据会抛出io异常
要是觉得麻烦就直接throws Exception
不然就try catch处理了
[解决办法]

Java code
try {                FileWriter fw = new FileWriter("test.txt");                PrintWriter pw = new PrintWriter("test2.txt");                pw.print("");                pw.close();                fw.close();            } catch (FileNotFoundException e) {                // TODO Auto-generated catch block                e.printStackTrace();            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }
[解决办法]
在eclipse环境下可以直接这样写吗?ide应该有提示捕获异常才对啊,两个方法都要显式的处理异常
[解决办法]
import java.io.*;


public class TestFile {
public static void main(String[] args)throws IOException {
FileWriter fw = new FileWriter("test.txt");
PrintWriter pw = new PrintWriter("test2.txt");
pw.print("");
}
}
抛个异常就行了
[解决办法]
操作IO流的时候抛异常是必不可少一个环节 如果你不会就直接抛给虚拟机处理吧 代码如上 直接在主函数后面加上throws IOException
[解决办法]
不结贴呢?
问题是test2.txt文件没有找到,对于eclipse来说是工程目录下没有此文件。
对于命令行程序来说是当前目录下没有此文件。
而且规范的代码书写要用try{}catch(){代码;}包裹。
如果用IDE则你那个程序书写时就会报错。

热点排行