關於applet寫入檔案的處理 (轉)
關於applet寫入檔案的處理 (轉)[@more@]duke原創於嬌娃網上家園
關於applet寫入的處理
眾所都知見於性考慮,applet在ie、scape中沒有寫入檔案的能力,包括本地、檔案。那麼我們怎樣才能實現一些資料的保留呢?(象本程式碼中記錄積分的功能)。
一個方法是透過伺服器端的寫入檔案,applet端的程式碼如下:
private void Send(){
message=re+"#"+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寫入檔案(成功)
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");
RanAccesile 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";
}
}
關於applet寫入的處理
眾所都知見於性考慮,applet在ie、scape中沒有寫入檔案的能力,包括本地、檔案。那麼我們怎樣才能實現一些資料的保留呢?(象本程式碼中記錄積分的功能)。
一個方法是透過伺服器端的寫入檔案,applet端的程式碼如下:
private void Send(){
message=re+"#"+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寫入檔案(成功)
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");
RanAccesile 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";
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-987222/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於檔案寫入的原子性討論
- UNIX的檔案處理(轉)
- 基於MFC的大型資料檔案處理方法 (轉)
- 關於丟失表空間資料檔案的處理方式
- 對於CSV檔案中{,}和{"}的處理
- 處理檔名內含有特殊字元的檔案 (轉)字元
- C++中的檔案輸入/輸出(5):二進位制檔案的處理 (轉)C++
- Oracle中Blob欄位的寫入處理(一) (轉)Oracle
- C#關於讀寫INI檔案C#
- ReiserFS檔案系統壞塊的處理(轉)
- 關於專案經理的討論 (轉)
- 關於自動付款中預付款的處理-轉
- 關於中文URL的處理
- 關於基於Form的多檔案上載 (轉)ORM
- vscode關於json檔案新增註釋報錯處理VSCodeJSON
- bat批處理轉換成exe檔案BAT
- [R]檔案處理
- bat處理檔案BAT
- bat檔案處理BAT
- 編寫簡單的windows bat批處理指令碼檔案WindowsBAT指令碼
- 關於java程式異常處理(講義)(轉)Java
- linux入門必學檔案處理命令Linux
- Pr 入門教程如何處理圖片檔案?
- iOS 關於時間的處理iOS
- 關於大資料量的處理大資料
- MySQL 關於毫秒的處理薦MySql
- 關於Disruptor處理流程
- 檔案系統被破壞時的處理方法(轉)
- 用shell處理二進位制檔案(轉)
- PHP寫入檔案PHP
- 關於aud$物件相關處理物件
- Linux學習之檔案處理命令(二)目錄處理命令 && 檔案處理命令Linux
- lua自動化指令碼關於文字讀寫和特殊不可見字元轉換的處理指令碼字元
- Python如何處理檔案的?Python
- 常見的檔案處理命令
- 使用Django來處理對於靜態檔案的請求Django
- 對於undotbs01.dbf檔案太大的處理辦法
- 關於捕獲VCL沒有處理的Windows訊息 (轉)Windows