connection.java
来自「gcc3.2.1源代码」· Java 代码 · 共 87 行
JAVA
87 行
/* Copyright (C) 1999 Free Software Foundation This file is part of libgcj.This software is copyrighted work licensed under the terms of theLibgcj License. Please consult the file "LIBGCJ_LICENSE" fordetails. */package gnu.gcj.protocol.jar;import java.net.URL;import java.net.JarURLConnection;import java.net.URLStreamHandler;import java.net.MalformedURLException;import java.net.ProtocolException;import java.io.IOException;import java.util.jar.JarFile;import java.util.Hashtable;/** * Written using on-line Java Platform 1.2 API Specification. * Status: Needs a way to download jar files and store them in the local file * system. I don't know how to do that in a portable way. For now, it can only handle * connections to a jar:file: url's. * * @author Kresten Krab Thorup <krab@gnu.org> * @date Aug 10, 1999. */public class Connection extends JarURLConnection { static Hashtable file_cache = new Hashtable(); private JarFile jarfile; public Connection(URL url) throws MalformedURLException { super(url); } public synchronized JarFile getJarFile() throws java.io.IOException { if (!connected) connect(); if (! doInput) throw new ProtocolException("Can't open JarFile if doInput is false"); if (jarfile != null) return jarfile; URL jarFileURL = getJarFileURL (); if (jarFileURL.getProtocol ().equals ("file") && jarFileURL.getHost ().equals ("")) { if (getUseCaches()) { jarfile = (JarFile) file_cache.get(jarFileURL); if (jarfile == null) { jarfile = new JarFile (jarFileURL.getFile ()); file_cache.put (jarFileURL, jarfile); } } else jarfile = new JarFile (jarFileURL.getFile ()); } else { /* FIXME: Here we need to download and cache the jar file in the local file system! Stupid design. Why can't we just create a JarFile from a bag of bytes? */ throw new java.io.IOException("cannot create jar file from " + jarFileURL); } return jarfile; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?