servlet 當中操作檔案

roszhaodan481發表於2014-05-22

java.io
類 FileReader

  

      

          java.io.FileReader

所有已實現的介面:

public class FileReader

extends 

用來讀取字元檔案的便捷類。此類的構造方法假定預設字元編碼和預設位元組緩衝區大小都是適當的。要自己指定這些值,可以先在 FileInputStream 上構造一個 InputStreamReader。

FileReader 用於讀取字元流。要讀取原始位元組流,請考慮使用 FileInputStream。

FileReader

public FileReader( file)

           throws 

在給定從中讀取資料的 File 的情況下建立一個新 FileReader。 

引數:

file- 要從中讀取資料的 File

丟擲:

- 如果檔案不存在,或者它是一個目錄,而不是一個常規檔案,抑或因為其他某些原因而無法開啟進行讀取。

FileReader

public FileReader( fileName)

           throws 

在給定從中讀取資料的檔案名的情況下建立一個新 FileReader。 

引數:

fileName- 要從中讀取資料的檔案的名稱

丟擲:

- 如果指定檔案不存在,或者它是一個目錄,而不是一個常規檔案,抑或因為其他某些原因而無法開啟進行讀取。

public class BufferedReader

extends 

從字元輸入流中讀取文字,緩衝各個字元,從而實現字元、陣列和行的高效讀取。

可以指定緩衝區的大小,或者可使用預設的大小。大多數情況下,預設值就足夠大了。

通常,Reader 所作的每個讀取請求都會導致對底層字元或位元組流進行相應的讀取請求。因此,建議用 BufferedReader 包裝所有其 read() 操作可能開銷很高的 Reader(如 FileReader 和 InputStreamReader)。例如,

 BufferedReader in

   = new BufferedReader(new FileReader("foo.in"));

通過用合適的 BufferedReader 替代每個 DataInputStream,可以對將 DataInputStream 用於文字輸入的程式進行本地化。

從以下版本開始:

JDK1.1

另請參見:

//演示如何在serlvet中<strong>操作檔案</strong>

//演示如何讀取<strong>檔案</strong>的內容


package com.tsinghua;


import java.io.FileReader;

import java.io.BufferedReader;

import java.io.PrintWriter;


import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;



public class ServletFileTest1 extendsa HttpServlet {


 

  public void doGet(HttpServletRequest req,HttpServletResponse res){

  

  

  

  try {

 


//中文亂碼

res.setContentType("text/html;charset=gbk");


PrintWriter pw=res.getWriter();

 

  //建立一個FileReader

FileReader  f=new FileReader("f:\\myCounter.txt");

     

BufferedReader bw=new BufferedReader(f);

     

 

 //讀出一行資料  讀幾行都是可以的  

String numVal=bw.readLine();

 

 //一定要關閉<strong>檔案</strong>流  也是為了安全考慮   

bw.close();


pw.println("從<strong>檔案</strong>中讀取的資料是:"+numVal);


 

 }

 catch (Exception ex) {

  

  ex.printStackTrace();

 

 }

  

  }

  

  public void doPost(HttpServletRequest req,HttpServletResponse res){

  

  this.doGet(req,res);

  }

    

}


//演示如何在serlvet中<strong>操作檔案</strong>

//演示如何在<strong>檔案</strong>中寫入資料


package com.tsinghua;


import java.io.*;


import javax.servlet.http.*;


public class ServletFileTest2 extends HttpServlet {


 

  public void doGet(HttpServletRequest req,HttpServletResponse res){

  

  try {

 

  //中文亂碼

res.setContentType("text/html;charset=gbk");


PrintWriter pw=res.getWriter();

 

  //建立一個FileWriter  看記憶體資料 ->  磁碟<strong>檔案</strong>(寫入,輸出)

  //看記憶體資料 <-  磁碟<strong>檔案</strong>(讀入,輸入)

FileWriter  f=new FileWriter("f:\\myCounter.txt");

     

     BufferedWriter bw=new BufferedWriter(f);

     

     //在<strong>檔案</strong>中寫入資料 

     bw.write("1");

     

     //關閉<strong>檔案</strong>流

     bw.close();

     

     pw.println("在<strong>檔案</strong>中寫入了資料");

     

 

 }

 catch (Exception ex) {

  

  ex.printStackTrace();

 

 }

  

  }

  

  public void doPost(HttpServletRequest req,HttpServletResponse res){

  

  this.doGet(req,res);

  }

    

}



來自:http://www.verydemo.com/demo_c134_i48734.html

相關文章