黑马程序员技术交流社区
标题:
javaIO,求大神帮我看看哪里出错了?
[打印本页]
作者:
李能甫
时间:
2015-3-30 18:11
标题:
javaIO,求大神帮我看看哪里出错了?
import java.io.FileWriter;
import java.io.IOException;
public class Test {
public static void main(String[] args) {
String str = "Hello World";
FileWriter fw = null;
try {
fw = new FileWriter("c:\\hello.txt");
fw.write(str);
} catch (IOException e) {
e.printStackTrace();
} finally {
fw.close();
}
}
}
复制代码
作者:
H马凯
时间:
2015-3-30 18:11
import java.io.FileWriter;
import java.io.IOException;
public class Test {
public static void main(String[] args) {
String str = "Hello World";
FileWriter fw = null;
try {
fw = new FileWriter("c:\\hello.txt");
fw.write(str);
//这里最好刷新下,不刷新数据是出不来的
fw.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
//close方法会抛出异常,这里需要try
try{
fw.close();
}
catch(Exception e){}
}
}
}
复制代码
作者:
树小森
时间:
2015-3-30 18:38
import java.io.FileWriter;
import java.io.IOException;
class Test {
public static void main(String[] args) {
String str = "Hello World";
FileWriter fw = null;
try {
fw = new FileWriter("c:\\hello.txt");
fw.write(str);
} catch (IOException e) {
e.printStackTrace();
} finally {
try{
if(fw!=null)
fw.close();
}catch(IOException e){
System.out.println(e.toString());
}
}
}
}
1.finally里面的close方法也要抛异常
2.win7系统的话,要向c盘里创建东西权限不够,用管理员身份打开cmd就行了。往d盘e盘写就不需要管理员权限
作者:
flowerdance
时间:
2015-4-1 10:41
围观大神回答
作者:
百谈千语
时间:
2015-4-1 19:51
楼上回答正确。。。没机会得分了。。。。Filewriter的都会抛出异常,close也是,有几次close就尽量try几次,这样最保险,当然一起嵌套try也没问题
你可以看下毕老师的这个视频你应该有吧--在18天教程08中专门讲了close的问题
_毕向东_Java基础视频教程第18天-08-IO流(IO异常处理方式).avi
http://java.itheima.com/news/2012822/f21877d69403.shtml
这是毕老师学前班的全部视频地址。。。。小白一下。。
作者:
笔墨痕干
时间:
2015-4-2 20:24
close()时也应该抛出异常!!回答的那么详细如何让小菜鸟得技术分啊
作者:
悟败者
时间:
2015-4-9 07:50
close()方法会抛异常喔
作者:
Hivan
时间:
2015-4-10 21:19
你try了IO对象, try中的代码是可能出问题的代码,而你try外面的IO对象是null,所以,colse()可能会找不到对象,就会被Jvm看成错误的代码,所以要继续try,并且,try之前判断一下对象是否存在. 而且,FileWriter 需要flush()方法,如果你不刷新,它写的东西永远在内存中,到不了硬盘.虽然说close()在执行之前会刷新,但这也不是每次结果都一样滴.永远建议手动flush();
作者:
蜡笔
时间:
2015-4-11 16:04
1、FileWriter调用write()方法后需要刷新一下流里面的数据
2、finally里面的close方法会抛出异常,需要单独try一下
作者:
不想拥有太多情
时间:
2015-4-14 09:58
没有处理(close())产生的异常!! try{}catch{}一下就中了
作者:
Struggle_168
时间:
2015-4-15 11:43
异常没有处理。。处理一下就行了。
作者:
孙振祥
时间:
2015-4-15 20:45
package io;
import java.io.FileWriter;
import java.io.IOException;
public class IoDemo {
public static void main(String[] args) {
String str = "Hello World";
FileWriter fw = null;
try {
fw = new FileWriter("c:\\hello.txt");
fw.write(str);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fw.close();//这里的close会出异常,你要处理,要么抛出去,要么就try
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
作者:
李维、、
时间:
2015-4-16 13:48
close()方法处也要进行IoException的Try catch
作者:
babadan
时间:
2015-4-20 18:28
关闭流的方法close(),会抛异常,关闭之前判断一下就ok了。
finally{
try{
if(fw!=null)
fw,close();
}catch(IOException e)
System.out.println("关闭流操作失败");
}
作者:
itheima_llt
时间:
2015-4-22 00:14
楼主万岁,万万岁,哈哈哈哈,谢谢了
作者:
dengxing
时间:
2015-4-22 21:14
调用close()方法,也是要处理异常的,你并没有处理,多以会报异常
作者:
lhwinner
时间:
2015-4-23 10:17
我来补充一下,就是在写入流关闭的时候需要进行判断,是否为空,并进行try处理,同时需要注意的是两个catch捕获的异常变量虽然都是IOException,但是变量名要不同,否则会出现编译失败
作者:
裴健华
时间:
2015-4-30 17:30
我觉得应该改成这样: fw = new FileWriter("c:\\hello.txt"); if(fw!=null){ fw.write(str); }
f.close的前面也需要加上if(f!=null).而且这部分要加上try块捕获ioexception异常。
作者:
陈国安
时间:
2015-5-5 16:47
用throws 抛出异常类
作者:
半世心修
时间:
2015-5-15 11:57
写入流关闭也要捕获异常 大神这么多 菜鸟怎么活。。。
作者:
dawndaybreak
时间:
2015-5-28 22:48
如果你不是把异常抛给调用者(抛在方法签名)的话,在finally中关闭fw时也是需要try-catch的;而且一般情况下,普通用户是没有对C盘的写入权限的,建议不要直接写在C盘,将文件大量写入系统盘的话,不仅会占用系统盘的空间,而且会影响电脑使用性能。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2