jsp应用举例-实现BS版IO操作

BS架构的IO操作:

———————-程序开始———————————–
// 客户端输入内容:
// input.jsp:

输入文件名  :

输入文件内容:

// save.jsp,保存客户端输入的内容到上:

.setCharacterEncoding(“utf8”); // 处理乱码

%>

String file = this.getServletContext().getRealPath(“/”) + “note” + File.separator + .getParameter(“filename”);

PrintStream save = new PrintStream(new FileOutputStream(new File(file))); // 打印流保存文件

String content = .getParameter(“content”); // 获取客户端输入

save.print(content.replaceAll(“\r\n”, “
“));

save.close();

%>

成功保存!

查看

//  list.jsp,查看提交的文件的目录列表:

.setCharacterEncoding(“utf8”); // 处理乱码

// 获取完整的真实文件夹路径:

String file = this.getServletContext().getRealPath(“/”) + “note” ;

// 列出当前文件夹下所有的文件名:

String[] f = new File(file).list();

// 输出文件夹下文件名:

if (f.length > 0)

{

for (int x = 0; x { // 以超链接输出所有文件名,可以点击查看

%>

“>| 查看 |

|现在去| ||以后再说,退出!|

}

%>

// look.jsp,查看保存的文件的内容:

.setCharacterEncoding(“utf8”); // 处理乱码

// 获取文件名:

String filename = request.getParameter(“filename”);

// 获取完整的真实文件路径:

String file = this.getServletContext().getRealPath(“/”) + “note” + File.separator + filename;

// 读取文件内容:

BufferedReader buf = new BufferedReader(new InputStreamReader(new FileInputStream(new File(file)))); // 获取缓冲输入流

String content = buf.readLine(); // 读取操作!保存的时候将所有的\r\n –>
进行隐式换行,保证只有一行!

%>

内容为:

buf.close(); // 关闭流输入

%>

// del.jsp, 删除某些文件:

request.setCharacterEncoding(“utf8”); // 处理乱码

// 获取文件名:

String filename = request.getParameter(“filename”);

// 获取完整的真实文件路径:

String file = this.getServletContext().getRealPath(“/”) + “note” + File.separator + filename;

// 删除文件:

boolean flag = new File(file).delete();

if (flag == true)

{ // 客户端跳转

response.sendRedirect(“list.jsp”);

}

else

{

%>

删除失败!

2秒后自动跳转到来路页面!

response.setHeader(“refresh”, “2;URL=list.jsp”);

}

%>

——————–结束———————–

——-实例二:网站计数器程序:

// 这里定义函数,或者声明类的全局常量

// 读取文件

public int load(String path)

{

int temp = 0; // 保存当前文件内容

try

{ // 获取缓冲流

BufferedReader buf = new BufferedReader(new InputStreamReader(new FileInputStream(new File(path))));

String str = buf.readLine(); // 读取String信息

temp = Integer.parseInt(str); // 获取int

buf.close();

}

catch (Exception e)

{

e.printStackTrace();

}

return temp;

}

// 保存文件修改

public synchronized void save(int count, String path) // 必须同步,防止同时写文件!

{

try

{

// 获取打印流

PrintStream ps = new PrintStream(new FileOutputStream(new File(path)));

ps.print(count);

ps.close();

}

catch (Exception e)

{

e.printStackTrace();

}

}

%>

String path = this.getServletContext().getRealPath(“/”) + “count.txt”; // 网站访问量记录文件,默认值为1;

int count = this.load(path);

if (session.isNew())

{

this.save(++count, path); // 新访问,count加1;

}

%>

您是第位访问者!

声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 智乐兔
转载请注明:转自《jsp应用举例-实现BS版IO操作
本文地址:https://www.zhiletu.com/archives-193.html
关注公众号:智乐兔

赞赏

wechat pay微信赞赏alipay pay支付宝赞赏

上一篇
下一篇

相关文章

在线留言

你必须 登录后 才能留言!

在线客服
在线客服 X

售前: 点击这里给我发消息
售后: 点击这里给我发消息

智乐兔官微