黑马程序员技术交流社区
标题:
IO复制文件 报错
[打印本页]
作者:
包晗
时间:
2012-7-28 21:56
标题:
IO复制文件 报错
本帖最后由 包晗 于 2012-7-28 22:44 编辑
<P>import java.io.*;</P>
<P>class CopyTest
{
public static void main(String[] agrs)throws IOException
{
copy_2();
}
public static void copy_2()
{
FileWriter fw= null;
FileReader fr= null;
try
{
fw = new FileWriter("systemDemo_copy1.txt");
fr = new FileReader("systemDemo.java");
char[] buf = new char[1024];
int len = 0;
while((len=fr.read(buf))!=-1)
{
fw.write(buf,0,len);
}</P>
<P>
}
catch (IOException e)
{
throw new RuntimeException("读写失败");
}
finally
{
if(fr!=null)
try
{
fr.close();
}
catch (IOException e)
{
}
if(fw!=null)
try
{
fw.close();
}
catch (IOException e)
{
}</P>
<P> }
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
</P>
复制代码
为啥 运行时报错了
但是又有 空的systemDemo_copy1.txt 出现
PMKNT7OX@Y%OX3UDVONQ][2.jpg
(15.41 KB, 下载次数: 36)
下载附件
2012-7-28 21:55 上传
作者:
包晗
时间:
2012-7-28 21:57
沙发自己的,
在第一个 exception 抛出了 让我摸不着头脑
作者:
朱烈葵
时间:
2012-7-28 22:16
没问题啊,我运行挺正常的啊
作者:
任文杰
时间:
2012-7-28 22:17
楼主,你在你的工程目录下放一个文件名为systemDemo.java的文件就不会报错了。由于Fr是输入流,输入源要存在,如果不存在,jvm是不会为你创建一个的,会抛出你说的异常。再说输出流,输出流由于是往特定的文件中输出数据,jvm会自动创建一个和你程序文件名相同的文件。
作者:
朱烈葵
时间:
2012-7-28 22:22
找不出任何原因
作者:
王宝康
时间:
2012-7-28 22:32
你要复制的源文件不存在,会报告java.io.FileNotFoundException,至于为什么会出现空的systemDemo_copy1.txt ,是因为执行这个语句
fw = new FileWriter"systemDemo_copy1.txt")时,会在项目文件夹中生成这个文件
package cn.study.ioOperation;
import java.io.*;
public class CopyTest {
public static void main(String[] agrs) throws IOException {
copy_2();
}
public static void copy_2() {
FileWriter fw = null;
FileReader fr = null;
try {
fw = new FileWriter("systemDemo_copy1.txt");
fr = new FileReader("systemDemo.java");
char[] buf = new char[1024];
int len = 0;
while ((len = fr.read(buf)) != -1) {
fw.write(buf, 0, len);
}
} catch (IOException e) {
System.out.println("这儿的异常");[color=Red]//你可以在这儿通过设置打印异常信息的方式查看异常信息[/color]
e.printStackTrace();
} finally {
if (fr != null)
try {
fr.close();
} catch (IOException e) {
}
if (fw != null)
try {
fw.close();
} catch (IOException e) {
}
}
}
public static void sop(Object obj) {
System.out.println(obj);
}
}
复制代码
作者:
包晗
时间:
2012-7-28 22:43
额.....谢谢 大家了...
system.java 没存到同一个文件夹......
调了一晚上,真心感谢...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2