Java Tutorial/Servlet/File Save Read

Материал из Java эксперт
Перейти к: навигация, поиск

Load File Content and Save it back in a Servlet

   <source lang="java">

import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; public class MyServlet extends HttpServlet {

 int count;
 public void init() throws ServletException {
   FileReader fileReader = null;
   BufferedReader bufferedReader = null;
   try {
     fileReader = new FileReader("InitDestroyCounter.initial");
     bufferedReader = new BufferedReader(fileReader);
     String initial = bufferedReader.readLine();
     count = Integer.parseInt(initial);
     bufferedReader.close(); 
     return;
   }
   catch (Exception ignored) { }
   String initial = getInitParameter("initial");                    
   try {                                                            
     count = Integer.parseInt(initial);                             
     return;                                                        
   }                                                                
   catch (NumberFormatException ignored) { }  // null or non-integer value
   count = 0;                                                       
 }                                                                  
                                                                    
 public void doGet(HttpServletRequest req, HttpServletResponse res) 
                              throws ServletException, IOException {
   res.setContentType("text/plain");                                
   PrintWriter out = res.getWriter();                               
   count++;                                                         
   out.println("Since the beginning, this servlet has been accessed " +
               count + " times.");                                  
 }                                                                  
                                                                    
 public void destroy() {                                            
   super.destroy();
   saveState();                                                     
 }                                                                  
                                                                    
 public void saveState() {                                          
   FileWriter fileWriter = null;
   PrintWriter printWriter = null;
   try {                                                            
     fileWriter = new FileWriter("InitDestroyCounter.initial");
     printWriter = new PrintWriter(fileWriter);         
     printWriter.println(count);                                  
     printWriter.close();
     return;                                                        
   }                                                                
   catch (IOException e) {
   }
 }

}</source>





Read File in a Servlet

   <source lang="java">

import java.io.*; import java.text.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class MyServlet extends HttpServlet {

 public void doGet(HttpServletRequest req, HttpServletResponse res)
                              throws ServletException, IOException {
   res.setContentType("text/plain; charset=Shift_JIS");
   PrintWriter out = res.getWriter();
   res.setHeader("Content-Language", "ja");
   Locale locale = new Locale("ja", "");
   DateFormat full = DateFormat.getDateTimeInstance(DateFormat.LONG,
                                                    DateFormat.LONG,
                                                    locale);
   out.println("In Japanese:");
   try {
     FileInputStream fis =
       new FileInputStream(req.getRealPath("/HelloWorld.ISO-2022-JP"));
     InputStreamReader isr = new InputStreamReader(fis, "ISO-2022-JP");
     BufferedReader reader = new BufferedReader(isr);
     String line = null;
     while ((line = reader.readLine()) != null) {
       out.println(line);
     }
   }
   catch (FileNotFoundException e) {
     e.printStackTrace();
   }
   out.println(full.format(new Date()));
 }

}</source>