各位前辈帮我看一下这个问题,谢谢!

japanvincent 2009-02-04 11:27:56
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312" import="java.io.*"%>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>???????</title>
</head>
<body>
<%
File filePath=new File("F:/shopping/ch9/WebContent");
File sourceFile=new File(filePath,"data1.txt");
File targetFile=new File(filePath,"data2.txt");
String temp;
try{
BufferedReader source=new BufferedReader(new FileReader(sourceFile));
BufferedWriter target=new BufferedWriter(new FileWriter(targetFile));
while((temp=source.readLine())!=null)
{
target.write(temp);
target.newLine();
target.flush();
}
out.println("<br>"+"复制完成");
source.close();
target.close();
}


catch(IOException E)
{
out.println("<br>"+"IOcuowu ");
}

%>

</body>
</html>
以上是我按照书上写的JSP代码,运行以后的结果是 IOcuowu。请问这是怎么回事啊?还有target.write(temp);
target.newLine();target.flush();这三段代码是什么意思啊?
...全文
103 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
japanvincent 2009-02-06
  • 打赏
  • 举报
回复
下次你帮我解答问题时给你,别着急,哈哈。
Ami121 2009-02-05
  • 打赏
  • 举报
回复
lz你咋这么不地道哦 第一个给你回复 一分都不给
xinyung 2009-02-04
  • 打赏
  • 举报
回复
1、你的文件夹F:/shopping/ch9/WebContent下没有data1.txt文件,或者这个目录根本不存在
2、
target.write(temp); // 把data1.txt读出的内容temp写入到data2.txt中
target.newLine(); // 换行
target.flush(); // 清除缓存
Ami121 2009-02-04
  • 打赏
  • 举报
回复
程序调试的时候把异常抛出来看看
catch(IOException E)
{
//out.println(" <br>"+"IOcuowu ");
e.printStackTrace();
}
target.write(temp);//写内容
target.newLine();// 写入一个行分隔符
target.flush(); //刷新该流的缓冲
sjqzone 2009-02-04
  • 打赏
  • 举报
回复
要先建个目录。
huhk 2009-02-04
  • 打赏
  • 举报
回复
楼上的是对的,new File只是建个对象,没有建文件。new 出来的file可以调用方法判断是否存在的,没有的话可以create一个。
xinyung 2009-02-04
  • 打赏
  • 举报
回复
1、缓冲区内的内容强制写到文件,并清除缓冲区,如果不这样做,可能就会出现问题
2、new File创建的只是引用,创建文件用File.createNewFile()
ouyangxiaokang6 2009-02-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 japanvincent 的回复:]
非常感谢你的回答。
target.write(temp); // 把data1.txt读出的内容temp写入到data2.txt中
target.newLine(); // 换行
target.flush(); // 清除缓存
可以解释一下为什么要这么做么?为什么要清除缓存啊?
1、你的文件夹F:/shopping/ch9/WebContent下没有data1.txt文件,或者这个目录根本不存在
我的代码中有File sourceFile=new File(filePath,"data1.txt");
这一行不就是创建文件么?
[/Quote]
如果不用flush,则缓冲区满后才把缓冲区的内容一起输出,当用了flush后,就不管它满不满了,里面的内容也一起立即输出!
zhjf02 2009-02-04
  • 打赏
  • 举报
回复
File sourceFile=new File(filePath,"data1.txt");
好像不是创建文件;
上网查一下相关对FILE读写的例子
japanvincent 2009-02-04
  • 打赏
  • 举报
回复
非常感谢你的回答。
target.write(temp); // 把data1.txt读出的内容temp写入到data2.txt中
target.newLine(); // 换行
target.flush(); // 清除缓存
可以解释一下为什么要这么做么?为什么要清除缓存啊?
1、你的文件夹F:/shopping/ch9/WebContent下没有data1.txt文件,或者这个目录根本不存在
我的代码中有File sourceFile=new File(filePath,"data1.txt");
这一行不就是创建文件么?

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧