上面的代码没加循环加上 for(int i=0;i<10;i++){ <% writer.setStr("This is a string for writingxxxxxxxxxxxxxxxxxxxx."); %> <% out.println(writer.getStr()); %><br> <% String resultMsg; resultMsg=writer.writeStr(); if(resultMsg.equals("ok")) { out.println("fffff"); } else { out.println(resultMsg); } %> <%}%>我这样写以后,最终得到的文件中只有一行记录。我想10行都写入怎么改? 如果从数据库中直接取出10条记录并写入一个test.htm中怎么做呢?
bean的代码如下:import java.io.*;public class fileWriter { //文件路径 private String filePath; //写入的字符串 private String str; //初始化 public fileWriter() { filePath = null; str = "This is a string"; } //设置文件路径 public void setFilePath(String filePath) { this.filePath = filePath; } //得到文件路径 public String getFilePath() { return filePath; } //得到字符串 public void setStr(String str) { this.str = str; } //设置字符串 public String getStr() { return str; } //写入字符串到文件中,成功则返回ok字符串 public String writeStr() { try { File f = new File(filePath); PrintWriter out = new PrintWriter(new FileWriter(f)); out.print(this.getStr() + "\n"); out.close(); return "ok"; } catch (IOException e) { return e.toString(); } } }
to:fantasyCoder(牛仔+T恤)帮忙改一下啊,我是个新手,在JAVA上还有待提高!
用BufferedWriterBufferedWriter out = new BufferedWriter(new FileWriter("file.txt")); for (int i = 0; i < 10; i++) { out.write("This is a string for writingxxxxxxxxxxxxxxxxxxxx"); out.newLine(); } out.close()
<jsp:setProperty name="writer" property="filePath" value="writer.txt" />
<jsp:setProperty name="writer" property="str" value="xxx" />
</jsp:useBean>
<html>
<head>
<title></title>
</head>
<body><p><% writer.setStr("This is a string for writingxxxxxxxxxxxxxxxxxxxx."); %><% out.println(writer.getStr()); %><br><% String resultMsg;
resultMsg=writer.writeStr();
if(resultMsg.equals("ok"))
{
out.println("fffff");
}
else
{
out.println(resultMsg);
}
%>
</p>
</body>
</html>
<% writer.setStr("This is a string for writingxxxxxxxxxxxxxxxxxxxx."); %>
<% out.println(writer.getStr()); %><br>
<% String resultMsg;
resultMsg=writer.writeStr();
if(resultMsg.equals("ok"))
{
out.println("fffff");
}
else
{
out.println(resultMsg);
}
%>
<%}%>我这样写以后,最终得到的文件中只有一行记录。我想10行都写入怎么改?
如果从数据库中直接取出10条记录并写入一个test.htm中怎么做呢?
{
//文件路径
private String filePath;
//写入的字符串
private String str;
//初始化
public fileWriter()
{
filePath = null;
str = "This is a string";
}
//设置文件路径
public void setFilePath(String filePath)
{
this.filePath = filePath;
}
//得到文件路径
public String getFilePath()
{
return filePath;
}
//得到字符串
public void setStr(String str)
{
this.str = str;
}
//设置字符串
public String getStr()
{
return str;
}
//写入字符串到文件中,成功则返回ok字符串
public String writeStr()
{
try
{
File f = new File(filePath);
PrintWriter out = new PrintWriter(new FileWriter(f));
out.print(this.getStr() + "\n");
out.close();
return "ok";
}
catch (IOException e)
{
return e.toString();
}
}
}
for (int i = 0; i < 10; i++) {
out.write("This is a string for writingxxxxxxxxxxxxxxxxxxxx");
out.newLine();
}
out.close()
你每个循环都重新执行了对
文件的操作!
所以都是从第一行开始写
建议把循环放到Bean
传入一个参数来控制
循环的次数!祝你好运!!!