finger.java

来自「apache推出的net包」· Java 代码 · 共 147 行

JAVA
147
字号
/* * Copyright 2001-2005 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *     http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package examples;import java.io.IOException;import java.net.InetAddress;import java.net.UnknownHostException;import org.apache.commons.net.FingerClient;/*** * This is an example of how you would implement the finger command * in Java using NetComponents.  The Java version is much shorter. * But keep in mind that the Unix finger command reads all sorts of * local files to output local finger information.  This program only * queries the finger daemon. * <p> * The -l flag is used to request long output from the server. * <p> ***/public final class finger{    public static final void main(String[] args)    {        boolean longOutput = false;        int arg = 0, index;        String handle, host;        FingerClient finger;        InetAddress address = null;        // Get flags.  If an invalid flag is present, exit with usage message.        while (arg < args.length && args[arg].startsWith("-"))        {            if (args[arg].equals("-l"))                longOutput = true;            else            {                System.err.println("usage: finger [-l] [[[handle][@<server>]] ...]");                System.exit(1);            }            ++arg;        }        finger = new FingerClient();        // We want to timeout if a response takes longer than 60 seconds        finger.setDefaultTimeout(60000);        if (arg >= args.length)        {            // Finger local host            try            {                address = InetAddress.getLocalHost();            }            catch (UnknownHostException e)            {                System.err.println("Error unknown host: " + e.getMessage());                System.exit(1);            }            try            {                finger.connect(address);                System.out.print(finger.query(longOutput));                finger.disconnect();            }            catch (IOException e)            {                System.err.println("Error I/O exception: " + e.getMessage());                System.exit(1);            }            return ;        }        // Finger each argument        while (arg < args.length)        {            index = args[arg].lastIndexOf("@");            if (index == -1)            {                handle = args[arg];                try                {                    address = InetAddress.getLocalHost();                }                catch (UnknownHostException e)                {                    System.err.println("Error unknown host: " + e.getMessage());                    System.exit(1);                }            }            else            {                handle = args[arg].substring(0, index);                host = args[arg].substring(index + 1);                try                {                    address = InetAddress.getByName(host);                }                catch (UnknownHostException e)                {                    System.err.println("Error unknown host: " + e.getMessage());                    System.exit(1);                }            }            System.out.println("[" + address.getHostName() + "]");            try            {                finger.connect(address);                System.out.print(finger.query(longOutput, handle));                finger.disconnect();            }            catch (IOException e)            {                System.err.println("Error I/O exception: " + e.getMessage());                System.exit(1);            }            ++arg;            if (arg != args.length)                System.out.print("\n");        }    }}

⌨️ 快捷键说明

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