mirnshi:a_java_class_to_get_a_compressed_file_from_the_server
A java class to get a compressed file from the server
Some guys often ask me to help them to get some files from the server, such as tomcat log. Everytime I must open ftp client to connect the server, download these file. The lazy man need a smart way to do this job. Now they can help themselves.
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.zip.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ZGet { public void get(HttpServletRequest request, HttpServletResponse response, String filename) { try { // String fname = request.getParameter("xpath"); fname = filename; File f = new File(fname); if (f.canRead()) { response.setContentType("application/x-gzip"); response.setHeader("Location", f.getName()); response.setHeader("Content-Disposition", "attachment; filename=" + f.getName() + ".gz"); get(new FileInputStream(filename), response.getOutputStream()); response.getOutputStream().flush(); response.getOutputStream().close(); } } catch (Exception e) { // TODO Auto-generated catch block //e.printStackTrace(); } } private void get(InputStream in, OutputStream out) throws IOException { if (in == null || out == null) { return; } byte[] buffer = new byte[1024]; int i = -1; GZIPOutputStream gzip = new GZIPOutputStream(out); while ((i = in.read(buffer)) != -1) { gzip.write(buffer, 0, i); } gzip.close(); } }
mirnshi/a_java_class_to_get_a_compressed_file_from_the_server.txt · Last modified: 2009/12/19 05:22 by mirnshi
Discussion