关于applet写入文件的处理

<script type="text/javascript"> google_ad_client = "pub-8800625213955058"; /* 336x280, 创建于 07-11-21 */ google_ad_slot = "0989131976"; google_ad_width = 336; google_ad_height = 280; // </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 众所都知见于安全性考虑,applet在ie、netscape中没有写入文件的能力,包括本地、服务器文件。那么我们怎样才能实现一些数据的保留呢?(象本程序代码中记录积分的功能)。 一个方法是通过服务器端的servlet写入文件,applet端的代码如下: private void Send(){ message=score "#" tf.getText (); showStatus("Message send"); String queryString="/servlet/javaduke.servlet.SaveServlet?message=" URLEncoder.encode(message); p("Attempting to send:" message); try{ connect=(new URL(chatURL,queryString)).openConnection(); showStatus("打开连接"); showStatus(connect.toString ()); System.out.println("open connection"); connect.setDefaultUseCaches(false); connect.setUseCaches (false); connect.setDoInput (true); connect.setDoOutput(false); System.out.println("dooutput false"); connect.connect(); System.out.println("open stream"); p("Made connection to" connect); showStatus("试图连接、读取回应"); InputStreamReader reader=new InputStreamReader(connect.getInputStream ()); BufferedReader in=new BufferedReader(reader); message=in.readLine (); while(message!=null){ tf.setText(message); message=in.readLine (); } showStatus("对话成功"); } catch(MalformedURLException e2){ System.err.println ("MalformedURLException!"); e2.printStackTrace (System.err ); showStatus("MalformedURLException"); } catch(IOException e1){ System.err.println ("IOException"); e1.printStackTrace (System.err); showStatus(e1.toString ()); } } server端代码如下! Servlet写入文件(www.mycgiserver.com调试成功) import javax.servlet.http.*; import java.io.*; import java.util.*; public class SaveServlet extends HttpServlet { String counter,counter2; //Initialize global variables public void init(ServletConfig config) throws ServletException { super.init(config); } //Service the request public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { File file=new File("/members/YourID/servlet/gamelog.txt"); RandomAccessFile raf; if(!file.exists()){ raf=new RandomAccessFile(file,"rw"); counter="210#javaduke "; raf.seek(0); raf.writeBytes(counter); raf.close(); } else{ counter=request.getParameter("message"); raf=new RandomAccessFile(file,"rw"); raf.seek(0); raf.writeBytes(counter); raf.close(); } response.setContentType("text/html"); PrintWriter out = new PrintWriter (response.getOutputStream()); out.print("Saved OK!"); out.close(); } //Get Servlet information public String getServletInfo() { return "game.SaveServlet Information"; } }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值