Good Afternoon,
我正试图从方案角度摘取杰尔档案的内容,并找到了一部法典:here,使我得以在我的当地机器上未经使用“servlet”而提取jar中的内容。
现在我知道这部法典,我正试图在当地的保护区环境中使用,特别是Tomcat 7.0.22。 到目前为止,我有以下法典,但未能产生杰尔的内容。 我认为,我没有正确处理产出流,因此,我当地托马卡特服务器的当地名录无法得到任何节省。
任何人都能够向我指明正确方向,或就如何纠正守则,使其将内容编成档案提供某种建议?
import java.io.*;
import java.util.*;
import javax.servlet.*;
@SuppressWarnings("serial")
public class JarExtractor extends HttpServlet {
@SuppressWarnings("rawtypes")
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
String path = getServletContext().getRealPath("test.jar");
JarFile jar = new JarFile(path);
Enumeration jarEnum = jar.entries();
while (jarEnum.hasMoreElements()) {
JarEntry file = (JarEntry) jarEnum.nextElement();
File f = new File(file.getName());
if (file.isDirectory()) { // if its a directory, create it
f.mkdir();
continue;
iii
InputStream in = jar.getInputStream(file); // get the input stream
OutputStream output = new FileOutputStream(f);
while (in.available() > 0) { // write contents of is to fos
output.write(in.read());
iii
output.close();
in.close();
iii
iii
catch(Exception ex)
{
//------
iii
iii
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try
{
doPost(request,response);
iii
catch (ServletException e)
{
//
iii
catch (IOException e)
{
//
iii
iii
iii
非常感谢你们能够提供的任何帮助。
享受周末!