⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rawfingerurlstreamhandler.java

📁 java网络编程方面的源码,其中有一个整合的聊天室,比较不错,建议大家下载练习,配合java网络编程技术内幕看
💻 JAVA
字号:
/* * Java Network Programming, Second Edition * Merlin Hughes, Michael Shoffner, Derek Hamner * Manning Publications Company; ISBN 188477749X * * http://nitric.com/jnp/ * * Copyright (c) 1997-1999 Merlin Hughes, Michael Shoffner, Derek Hamner; * all rights reserved; see license.txt for details. */import java.io.*;
import java.net.*;
import java.util.*;

public class RawFingerURLStreamHandler extends URLStreamHandler {
  protected void parseURL (URL url, String spec, int start, int limit) {
    String query = spec.substring (start, limit);
    int at = query.lastIndexOf ("@");
    String user = (at > -1) ? query.substring (0, at) : query;
    StringBuffer revUser = new StringBuffer ();
    StringTokenizer t = new StringTokenizer (user, "@", true);
    while (t.hasMoreTokens ())
      revUser.insert (0, t.nextToken ().replace ('@', '/'));
    revUser.insert (0, '/');
    String location = (at > -1) ? query.substring (at + 1) : "";
    int colon = location.indexOf (":");
    int port = ((colon > -1) && (colon < location.length () - 1)) ?
      Integer.parseInt (location.substring (colon + 1)) : -1;
    String host = (colon > -1) ? location.substring (0, colon) : location;
    setURL (url, url.getProtocol (), host, port,
            revUser.toString (), url.getRef ());
  }

  protected String toExternalForm (URL url) {
    StringBuffer result = new StringBuffer ();
    String file = url.getFile ().substring (1);
    StringTokenizer files = new StringTokenizer (file, "/", true);
    while (files.hasMoreTokens ())
      result.insert (0, files.nextToken ().replace ('/', '@'));
    result.insert (0, ':').insert (0, url.getProtocol ());
    if ((url.getHost ().length () > 0) || (url.getPort () != -1))
      result.append ('@');
    result.append (url.getHost ());
    if (url.getPort () != -1)
      result.append (':').append (url.getPort ());
    if (url.getRef () != null)
      result.append ('#').append (url.getRef ());
    return result.toString ();
  }

  protected URLConnection openConnection (URL url) throws IOException {
    return new FingerURLConnection (url);
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -