当前位置: 首页>>代码示例>>Java>>正文


Java Getopt类代码示例

本文整理汇总了Java中gnu.getopt.Getopt的典型用法代码示例。如果您正苦于以下问题:Java Getopt类的具体用法?Java Getopt怎么用?Java Getopt使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


Getopt类属于gnu.getopt包,在下文中一共展示了Getopt类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: main

import gnu.getopt.Getopt; //导入依赖的package包/类
/**
 *
 * @param args
 *        <p>
 *        -i for an input directory <br>
 *        (files in csv format with columns:<br>
 *        run, classifier, class, a, b, c, d) <br>
 *        <br>
 *
 *        -o for an output file<br>
 *        </p>
 *
 * @throws IOException if something wrong
 */
public static void main(final String[] args) throws IOException {

  final Getopt getopt = new Getopt("FoxEvalTest", args, "i:x o:x");

  final FoxEvaluationHelper fet = new FoxEvaluationTestHelper();

  int arg = -1;
  while ((arg = getopt.getopt()) != -1) {
    switch (arg) {
      case 'i':
        fet.setInputFolder(String.valueOf(getopt.getOptarg()));
        break;
      case 'o':
        fet.setOutputFile(String.valueOf(getopt.getOptarg()));
        break;

    }
  }

  fet.getFiles(fet.getInputFolder());
  fet.read();
  fet.addValues();
  fet.write();
}
 
开发者ID:dice-group,项目名称:FOX,代码行数:39,代码来源:FoxEvaluationTestHelper.java

示例2: parse

import gnu.getopt.Getopt; //导入依赖的package包/类
/**
 * Parse the command line arguments and notify option listeners.
 */    
public void parse() throws OptionsException {
  Getopt g = new Getopt(application, argv, sargs.toString(), largs.toArray(new LongOpt[] {}));
  g.setOpterr(false); // We'll do our own error handling
  
  int c;
  while ((c = g.getopt()) != -1) {
    switch (c) {
    case '?':
      // Get invalid option
      int ix = g.getOptind();
      String option = argv[(ix == 0 ? 0 : ix-1)];
      throw new OptionsException(option, g.getOptarg());
    default:
      ListenerIF listener = listeners.get(new Integer(c));
      if (listener != null)
        listener.processOption((char)c, g.getOptarg());
      else
        System.err.println ("Warning: option '" + (char)c + "' ignored");
      break;
    }
  }
  
  // Get non-option arguments
  for (int i = g.getOptind(); i < argv.length ; i++) {
    arguments.add(argv[i]);
  }
}
 
开发者ID:ontopia,项目名称:ontopia,代码行数:31,代码来源:CmdlineOptions.java

示例3: processOption

import gnu.getopt.Getopt; //导入依赖的package包/类
private static String[] processOption(String[] args, Properties props) {
	LongOpt[] options = new LongOpt[] {
			new LongOpt("output", LongOpt.REQUIRED_ARGUMENT,null, 'o')
	};
	
	// Build auxilary structures
	HashMap<Integer, LongOpt> shortOptionMap = new HashMap<Integer, LongOpt>();
	StringBuffer decl = new StringBuffer();
	for(LongOpt o: options) {
		shortOptionMap.put(o.getVal(),o);
		decl.append((char)o.getVal());
		if(o.getHasArg() == LongOpt.OPTIONAL_ARGUMENT) {
			decl.append("::");
		} else if (o.getHasArg() == LongOpt.REQUIRED_ARGUMENT) {
			decl.append(":");
		}
	}
	Getopt g = new Getopt("anyurl", args, decl.toString(), options);
	 
	int c= 0;
	while ((c = g.getopt()) != -1) {
		LongOpt opt = shortOptionMap.get(c);
		String optName = opt.getName();
		String optVal = g.getOptarg();
		props.put(optName, optVal);
	}
	
	// NB: Getopt moves non options to the end
	return Arrays.copyOfRange(args, g.getOptind(), args.length);
}
 
开发者ID:bhabegger,项目名称:anyurl,代码行数:31,代码来源:App.java

示例4: parseArguments

import gnu.getopt.Getopt; //导入依赖的package包/类
static boolean parseArguments(String [] argv) {
	Getopt g = new Getopt("client", argv, "ds:p:");

	int c;
	String arg;

	while ((c = g.getopt()) != -1) {
		switch(c) {
			case 'd':
				_debug = true;
				break;
			case 's':
				_server = g.getOptarg();
				break;
			case 'p':
				arg = g.getOptarg();
				_port = Integer.parseInt(arg);
				break;
			case '?':
				System.out.print("getopt() returned " + c + "\n");
				break; // getopt() already printed an error
			default:
				System.out.print("getopt() returned " + c + "\n");
		}
	}
	
	if (_server == null)
		return false;
	
	if ((_port < 1024) || (_port > 65535)) {
		System.out.println("Error: Port must be in the range 1024 <= port <= 65535");
		return false;
	}

	return true;
}
 
开发者ID:dLobatog,项目名称:ASAFACMS,代码行数:37,代码来源:Client.java

示例5: parseArguments

import gnu.getopt.Getopt; //导入依赖的package包/类
/**
 * Parses the report command lime arguments.
 *
 * @param args array containing the command line arguments.
 */
@Override
public void parseArguments(String[] args) {
  Getopt g = new Getopt("gate.util.reporting.DocTimeReporter", args,
      "i:m:d:p:o:l:h");
  int c;
  String argNoOfDocs = null;
  while ((c = g.getopt()) != -1) {
    switch (c) {
    // -i inputFile
    case 'i':
      String argInPath = g.getOptarg();
      if (argInPath != null) {
        setBenchmarkFile(new File(argInPath));
      }
      break;
    // -m printMedia
    case 'm':
      String argPrintMedia = g.getOptarg();
      if (argPrintMedia != null) {
        setPrintMedia(argPrintMedia);
      }
      break;
    // -d noOfDocs
    case 'd':
      argNoOfDocs = g.getOptarg();
      if (argNoOfDocs == null) {
        setMaxDocumentInReport(maxDocumentInReport);
      }
      break;
    // -p prName
    case 'p':
      String argPrName = g.getOptarg();
      if (argPrName != null) {
        setPRMatchingRegex(argPrName);
      } else {
        setPRMatchingRegex(PRMatchingRegex);
      }
      break;
    // -o Report File
    case 'o':
      String argOutPath = g.getOptarg();
      if (argOutPath != null) {
        setReportFile(new File(argOutPath));
      }
      break;
    // -l logical start
    case 'l':
      String argLogicalStart = g.getOptarg();
      if (argLogicalStart != null) {
        setLogicalStart(argLogicalStart);
      }
      break;
    // -h usage information
    case 'h':
    case '?':
      usage();
      System.exit(STATUS_NORMAL);
      break;

    default:
      usage();
      System.exit(STATUS_ERROR);
      break;

    } // getopt switch
  }
  if (argNoOfDocs != null) {
    try {
      setMaxDocumentInReport(Integer.parseInt(argNoOfDocs));
    } catch (NumberFormatException e) {
      e.printStackTrace();
      usage();
      System.exit(STATUS_ERROR);
    }
  }
}
 
开发者ID:GateNLP,项目名称:gate-core,代码行数:82,代码来源:DocTimeReporter.java

示例6: processCommandLine

import gnu.getopt.Getopt; //导入依赖的package包/类
private void processCommandLine(String[] args) {

        String programName = System.getProperty("program.name", "Mobicents Media Server");

        int c;
        String arg;
        LongOpt[] longopts = new LongOpt[2];
        longopts[0] = new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h');
        longopts[1] = new LongOpt("host", LongOpt.REQUIRED_ARGUMENT, null, 'b');

        Getopt g = new Getopt("SMSC", args, "-:b:h", longopts);
        g.setOpterr(false); // We'll do our own error handling
        //
        while ((c = g.getopt()) != -1) {
            switch (c) {

                //
                case 'b':
                    arg = g.getOptarg();
                    System.setProperty(SMSC_BIND_ADDRESS, arg);

                    break;
                //

                case 'h':
                    System.out.println("usage: " + programName + " [options]");
                    System.out.println();
                    System.out.println("options:");
                    System.out.println("    -h, --help                    Show this help message");
                    System.out.println("    -b, --host=<host or ip>       Bind address for all Mobicents SMSC services");
                    System.out.println();
                    System.exit(0);
                    break;

                case ':':
                    System.out.println("You need an argument for option " + (char) g.getOptopt());
                    System.exit(0);
                    break;
                //
                case '?':
                    System.out.println("The option '" + (char) g.getOptopt() + "' is not valid");
                    System.exit(0);
                    break;
                //
                default:
                    System.out.println("getopt() returned " + c);
                    break;
            }
        }

        if (System.getProperty(SMSC_BIND_ADDRESS) == null) {
            System.setProperty(SMSC_BIND_ADDRESS, "127.0.0.1");
        }

    }
 
开发者ID:RestComm,项目名称:camelgateway,代码行数:56,代码来源:Main.java

示例7: getConfigFromArgv

import gnu.getopt.Getopt; //导入依赖的package包/类
public static boolean getConfigFromArgv(String argv[])
{

    int c;
    String arg;

    LongOpt [] longopts = new LongOpt[10];
    longopts[0] = new LongOpt(SERVER_MODE, LongOpt.NO_ARGUMENT, null, 'S');
    longopts[1] = new LongOpt(METHOD, LongOpt.REQUIRED_ARGUMENT, null, 'm');
    longopts[2] = new LongOpt(PASSWORD, LongOpt.REQUIRED_ARGUMENT, null, 'k');
    longopts[3] = new LongOpt(SERVER_PORT, LongOpt.REQUIRED_ARGUMENT, null, 'p');
    longopts[4] = new LongOpt(AUTH, LongOpt.NO_ARGUMENT, null, 'a');
    longopts[5] = new LongOpt(SERVER_ADDR, LongOpt.REQUIRED_ARGUMENT, null, 's');
    longopts[6] = new LongOpt(LOCAL_PORT, LongOpt.REQUIRED_ARGUMENT, null, 'l');
    longopts[7] = new LongOpt(CONFIG, LongOpt.REQUIRED_ARGUMENT, null, 'c');
    longopts[8] = new LongOpt(TIMEOUT, LongOpt.REQUIRED_ARGUMENT, null, 't');
    longopts[9] = new LongOpt(HELP, LongOpt.NO_ARGUMENT, null, 'h');

    Getopt g = new Getopt("shadowsocks", argv, "Sm:k:p:as:l:c:t:h", longopts);

    while ((c = g.getopt()) != -1)
    {
        switch(c)
        {
            case 'm':
                arg = g.getOptarg();
                log.debug("CMD:Crypto method: " + arg);
                GlobalConfig.get().setMethod(arg);
                break;
            case 'k':
                arg = g.getOptarg();
                log.debug("CMD:Password: " + arg);
                GlobalConfig.get().setPassowrd(arg);
                break;
            case 'p':
                arg = g.getOptarg();
                int port = Integer.parseInt(arg);
                log.debug("CMD:Server port: " + port);
                GlobalConfig.get().setPort(port);
                break;
            case 'a':
                log.debug("CMD:OTA enforcing mode.");
                GlobalConfig.get().setOTAEnabled(true);
                break;
            case 'S':
                log.debug("CMD:Server mode.");
                GlobalConfig.get().setServerMode(true);
                break;
            case 's':
                arg = g.getOptarg();
                log.debug("CMD:Server address: " + arg);
                GlobalConfig.get().setServer(arg);
                break;
            case 'l':
                arg = g.getOptarg();
                int lport = Integer.parseInt(arg);
                log.debug("CMD:Local port: " + lport);
                GlobalConfig.get().setLocalPort(lport);
                break;
            case 'c':
                arg = g.getOptarg();
                log.debug("CMD:Config file: " + arg);
                GlobalConfig.get().setConfigFile(arg);
                break;
            case 't':
                arg = g.getOptarg();
                int timeout = Integer.parseInt(arg);
                log.debug("CMD:timeout: " + timeout);
                GlobalConfig.get().setTimeout(timeout);
                break;
            case 'h':
            case '?':
            default:
                help();
                return false;
        }
    }
    return true;
}
 
开发者ID:Bestoa,项目名称:shadowsocks-vertx,代码行数:80,代码来源:GlobalConfig.java

示例8: main

import gnu.getopt.Getopt; //导入依赖的package包/类
public static void
main(String[] argv)
{
 int c;
 String arg;
 LongOpt[] longopts = new LongOpt[3];
 // 
 StringBuffer sb = new StringBuffer();
 longopts[0] = new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h');
 longopts[1] = new LongOpt("outputdir", LongOpt.REQUIRED_ARGUMENT, sb, 'o'); 
 longopts[2] = new LongOpt("maximum", LongOpt.OPTIONAL_ARGUMENT, null, 2);
 // 
 Getopt g = new Getopt("testprog", argv, "-:bc::d:hW;", longopts);
 g.setOpterr(false); // We'll do our own error handling
 //
 while ((c = g.getopt()) != -1)
   switch (c)
     {
        case 0:
          arg = g.getOptarg();
          System.out.println("Got long option with value '" +
                             (char)(new Integer(sb.toString())).intValue()
                             + "' with argument " +
                             ((arg != null) ? arg : "null"));
          break;
          //
        case 1:
          System.out.println("I see you have return in order set and that " +
                             "a non-option argv element was just found " +
                             "with the value '" + g.getOptarg() + "'");
          break;
          //
        case 2:
          arg = g.getOptarg();
          System.out.println("I know this, but pretend I didn't");
          System.out.println("We picked option " +
                             longopts[g.getLongind()].getName() +
                           " with value " + 
                           ((arg != null) ? arg : "null"));
          break;
          //
        case 'b':
          System.out.println("You picked plain old option " + (char)c);
          break;
          //
        case 'c':
        case 'd':
          arg = g.getOptarg();
          System.out.println("You picked option '" + (char)c + 
                             "' with argument " +
                             ((arg != null) ? arg : "null"));
          break;
          //
        case 'h':
          System.out.println("I see you asked for help");
          break;
          //
        case 'W':
          System.out.println("Hmmm. You tried a -W with an incorrect long " +
                             "option name");
          break;
          //
        case ':':
          System.out.println("Doh! You need an argument for option " +
                             (char)g.getOptopt());
          break;
          //
        case '?':
          System.out.println("The option '" + (char)g.getOptopt() + 
                           "' is not valid");
          break;
          //
        default:
          System.out.println("getopt() returned " + c);
          break;
     }
 //
 for (int i = g.getOptind(); i < argv.length ; i++)
   System.out.println("Non option argv element: " + argv[i] + "\n");
}
 
开发者ID:mrmaxent,项目名称:Maxent,代码行数:81,代码来源:GetoptDemo.java

示例9: parseArguments

import gnu.getopt.Getopt; //导入依赖的package包/类
private static BenchmarkTest parseArguments(String[] args) throws Exception
{
   String shortOpts = "t:r:s:i:a:vh";
   LongOpt[] longOpts =
   {new LongOpt("deployment", LongOpt.REQUIRED_ARGUMENT, null, 'd'),
         new LongOpt("threads", LongOpt.REQUIRED_ARGUMENT, null, 't'),
         new LongOpt("runs", LongOpt.REQUIRED_ARGUMENT, null, 'r'),
         new LongOpt("sleep", LongOpt.REQUIRED_ARGUMENT, null, 's'),
         new LongOpt("iterations", LongOpt.REQUIRED_ARGUMENT, null, 'i'),
         new LongOpt("address", LongOpt.REQUIRED_ARGUMENT, null, 'a'),
         new LongOpt("verbose", LongOpt.NO_ARGUMENT, null, 'v'), new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h')};

   Getopt getopt = new Getopt("Benchmark-runner", args, shortOpts, longOpts);
   int c;
   while ((c = getopt.getopt()) != -1)
   {
      switch (c)
      {
         case 't' :
            threadCount = Integer.parseInt(getopt.getOptarg());
            break;
         case 'r' :
            runs = Integer.parseInt(getopt.getOptarg());
            break;
         case 's' :
            sleep = Long.parseLong(getopt.getOptarg());
            break;
         case 'i' :
            iterations = Integer.parseInt(getopt.getOptarg());
            break;
         case 'a' :
            address = getopt.getOptarg();
            break;
         case 'v' :
            verbose = true;
            break;
         case 'h' :
            printHelp();
            System.exit(0);
         case '?' :
            System.exit(1);
      }
   }

   int classPos = getopt.getOptind();
   if (classPos >= args.length)
   {
      System.err.println("Error: test-class was not specified!");
      printHelp();
      System.exit(1);
   }

   try
   {
      Class<?> clazz = Class.forName(args[classPos]);
      System.out.println(BenchmarkTest.class.isAssignableFrom(clazz));
      System.out.println(clazz.isAssignableFrom(BenchmarkTest.class));

      return (BenchmarkTest) clazz.newInstance();
   }
   catch (Exception e)
   {
      System.out.println("Cannot instanciate " + args[classPos]);
      throw e;
   }
}
 
开发者ID:jbossws,项目名称:jbossws-cxf,代码行数:67,代码来源:Runner.java

示例10: main

import gnu.getopt.Getopt; //导入依赖的package包/类
/**
 * @param args
 */
public static void main(String[] args) {
	// TODO Auto-generated method stub
	String GTFfilepath = "";
	String input_file = "";
	String reference_FASTA_file = "";
	boolean verbose = false;
	boolean print_exons = false;
	boolean print_domain = false;

       Getopt g = new Getopt("MultiFusionSequenceFromGTF", args, "evdg:r:i:");
       //
       int c;

       while ((c = g.getopt()) != -1)
       {
           switch(c)
           {
   			case 'e':
   				print_exons = true;
   				break;

   			case 'v':
   				verbose = true;
   				break;

       		case 'd':
       			print_domain = true;                	 
       			break;

       		case 'g':
       			GTFfilepath = g.getOptarg();                	 
       			break;

       		case 'i':
       			input_file = g.getOptarg();                	 
       			break;

       		case 'r':
           		reference_FASTA_file = g.getOptarg();                	 
           		break;

                case '?':
               	 System.exit(1);
               	 break;

                default:
               	 System.exit(1);
               	 System.out.println("default");
           }
       }
	
       if (	
       		GTFfilepath.compareTo("")==0 || 
       		input_file.compareTo("")==0 || 
       		reference_FASTA_file.compareTo("")==0
       	)
       {
       	System.err.println("Error!\nusage: java -jar MultiFusionSequenceFromGTF" +
       			" -g [GTF file list] " +
       			" -i [Fusion Input File ] " +
       			" -r [reference FASTA file] " +
       			" -e [Print Exons (Optional)]" +
       			" -d [Print Domains (Optional)]" +
       			" -v [Verbose (Optional)]"
       	);
       	System.exit(1);
       }

       MultiFusionSequenceFromGTF mfsfgtf = new MultiFusionSequenceFromGTF(GTFfilepath, input_file, reference_FASTA_file, verbose, print_exons, print_domain);

	
}
 
开发者ID:RabadanLab,项目名称:Pegasus,代码行数:76,代码来源:MultiFusionSequenceFromGTF.java

示例11: main

import gnu.getopt.Getopt; //导入依赖的package包/类
/**
 * SSLEepGet https://foo/bar
 *   or to save cert chain:
 * SSLEepGet -s https://foo/bar
 */ 
public static void main(String args[]) {
    boolean saveCerts = false;
    boolean error = false;
    Getopt g = new Getopt("ssleepget", args, "s");
    try {
        int c;
        while ((c = g.getopt()) != -1) {
          switch (c) {
            case 's':
                saveCerts = true;
                break;

            case '?':
            case ':':
            default:
                error = true;
                break;
          }  // switch
        } // while
    } catch (Exception e) {
        e.printStackTrace();
        error = true;
    }

    if (error || args.length - g.getOptind() != 1) {
        usage();
        System.exit(1);
    }
    String url = args[g.getOptind()];

    String saveAs = suggestName(url);
    OutputStream out;
    try {
        // resume from a previous eepget won't work right doing it this way
        out = new FileOutputStream(saveAs);
    } catch (IOException ioe) {
        System.err.println("Failed to create output file " + saveAs);
        return;
    }

    SSLEepGet get = new SSLEepGet(I2PAppContext.getGlobalContext(), out, url);
    if (saveCerts)
        get._saveCerts = true;
    get._commandLine = true;
    get.addStatusListener(get.new CLIStatusListener(1024, 40));
    if(!get.fetch(45*1000, -1, 60*1000))
        System.exit(1);
}
 
开发者ID:NoYouShutup,项目名称:CryptMeme,代码行数:54,代码来源:SSLEepGet.java

示例12: main

import gnu.getopt.Getopt; //导入依赖的package包/类
/**
 *  Usage: Router [rebuild]
 *  No other options allowed, for now
 *
 *  @param args null ok
 *  @throws IllegalArgumentException
 */
public static void main(String args[]) {
    boolean rebuild = false;
    if (args != null) {
        boolean error = false;
        Getopt g = new Getopt("router", args, "");
        int c;
        while ((c = g.getopt()) != -1) {
            switch (c) {
                default:
                    error = true;
            }
        }
        int remaining = args.length - g.getOptind();
        if (remaining > 1) {
            error = true;
        } else if (remaining == 1) {
            rebuild = args[g.getOptind()].equals("rebuild");;
            if (!rebuild)
                error = true;
        }
        if (error)
            throw new IllegalArgumentException();
    }

    System.out.println("Starting I2P " + RouterVersion.FULL_VERSION);
    //verifyWrapperConfig();
    Router r = new Router();
    if (rebuild) {
        r.rebuildNewIdentity();
    } else {
        // This is here so that we can get the directory location from the context
        // for the zip file and the base location to unzip to.
        // If it does an update, it never returns.
        // I guess it's better to have the other-router check above this, we don't want to
        // overwrite an existing running router's jar files. Other than ours.
        r.installUpdates();
        // *********  Start no threads before here ********* //
        r.runRouter();
    }
}
 
开发者ID:NoYouShutup,项目名称:CryptMeme,代码行数:48,代码来源:Router.java

示例13: main

import gnu.getopt.Getopt; //导入依赖的package包/类
/**
 *  Usage: Router [rebuild]
 *  No other options allowed, for now
 *  Instantiates Router(), and either installs updates and exits,
 *  or calls runRouter().
 *
 *  Not recommended for embedded use.
 *  Applications bundling I2P should instantiate a Router and call runRouter().
 *
 *  @param args null ok
 *  @throws IllegalArgumentException
 */
public static void main(String args[]) {
    boolean rebuild = false;
    if (args != null) {
        boolean error = false;
        Getopt g = new Getopt("router", args, "");
        int c;
        while ((c = g.getopt()) != -1) {
            switch (c) {
                default:
                    error = true;
            }
        }
        int remaining = args.length - g.getOptind();
        if (remaining > 1) {
            error = true;
        } else if (remaining == 1) {
            rebuild = args[g.getOptind()].equals("rebuild");;
            if (!rebuild)
                error = true;
        }
        if (error)
            throw new IllegalArgumentException();
    }

    System.out.println("Starting I2P " + RouterVersion.FULL_VERSION);
    //verifyWrapperConfig();
    Router r;
    try {
        r = new Router();
    } catch (IllegalStateException ise) {
        System.exit(-1);
        return;
    }
    if (rebuild) {
        r.rebuildNewIdentity();
    } else {
        // This is here so that we can get the directory location from the context
        // for the zip file and the base location to unzip to.
        // If it does an update, it never returns.
        // I guess it's better to have the other-router check above this, we don't want to
        // overwrite an existing running router's jar files. Other than ours.
        InstallUpdate.installUpdates(r);
        // *********  Start no threads before here ********* //
        r.runRouter();
    }
}
 
开发者ID:NoYouShutup,项目名称:CryptMeme,代码行数:59,代码来源:Router.java

示例14: main

import gnu.getopt.Getopt; //导入依赖的package包/类
/**
 * SSLEepGet https://foo/bar
 *   or to save cert chain:
 * SSLEepGet -s https://foo/bar
 */ 
public static void main(String args[]) {
    int saveCerts = 0;
    boolean noVerify = false;
    boolean error = false;
    Getopt g = new Getopt("ssleepget", args, "sz");
    try {
        int c;
        while ((c = g.getopt()) != -1) {
          switch (c) {
            case 's':
                saveCerts++;
                break;

            case 'z':
                noVerify = true;
                break;

            case '?':
            case ':':
            default:
                error = true;
                break;
          }  // switch
        } // while
    } catch (Exception e) {
        e.printStackTrace();
        error = true;
    }

    if (error || args.length - g.getOptind() != 1) {
        usage();
        System.exit(1);
    }
    String url = args[g.getOptind()];

    String saveAs = suggestName(url);
    OutputStream out;
    try {
        // resume from a previous eepget won't work right doing it this way
        out = new FileOutputStream(saveAs);
    } catch (IOException ioe) {
        System.err.println("Failed to create output file " + saveAs);
        return;
    }

    SSLEepGet get = new SSLEepGet(I2PAppContext.getGlobalContext(), out, url);
    if (saveCerts > 0)
        get._saveCerts = saveCerts;
    if (noVerify)
        get._bypassVerification = true;
    get._commandLine = true;
    get.addStatusListener(get.new CLIStatusListener(1024, 40));
    if(!get.fetch(45*1000, -1, 60*1000))
        System.exit(1);
}
 
开发者ID:NoYouShutup,项目名称:CryptMeme,代码行数:61,代码来源:SSLEepGet.java

示例15: readParameters

import gnu.getopt.Getopt; //导入依赖的package包/类
public Properties readParameters( String[] args ) throws java.net.MalformedURLException {
Properties params = new Properties();

params.setProperty( "host", HOST );

// Read parameters
LongOpt[] longopts = new LongOpt[8];
// General parameters
longopts[0] = new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h');
longopts[1] = new LongOpt("debug", LongOpt.OPTIONAL_ARGUMENT, null, 'd');
longopts[2] = new LongOpt("D", LongOpt.REQUIRED_ARGUMENT, null, 'D');
// Service parameters
longopts[3] = new LongOpt("server", LongOpt.REQUIRED_ARGUMENT, null, 'S');
longopts[4] = new LongOpt("rest", LongOpt.NO_ARGUMENT, null, 'r');

Getopt g = new Getopt("", args, "rhD:d::S:", longopts);
int c;
String arg;

while ((c = g.getopt()) != -1) {
    switch (c) {
    case 'h' :
	usage();
	System.exit(0);
    case 'd' :
	/* Debug level  */
	arg = g.getOptarg();
	if ( arg != null ) debug = Integer.parseInt(arg.trim());
	else debug = 4;
	break;
    case 'r' :
	/* Use direct HTTP interface (REST)  */
	rest = true;
	break;
    case 'S' :
	/* HTTP Server + port */
	arg = g.getOptarg();
	SERVUrl = arg;
	break;
    case 'D' :
	/* Parameter definition */
	arg = g.getOptarg();
	int index = arg.indexOf('=');
	if ( index != -1 ) {
	    params.setProperty( arg.substring( 0, index), 
				 arg.substring(index+1));
	} else {
	    System.err.println("Bad parameter syntax: "+g);
	    usage();
	    System.exit(0);
	}
	break;
    }
}

if (debug > 0) {
    params.setProperty("debug", Integer.toString( debug ) );
} else if ( params.getProperty("debug") != null ) {
    debug = Integer.parseInt((String)params.getProperty("debug"));
}

// Store the remaining arguments in param
int i = g.getOptind();
if ( args.length < i + 1 ){
    usage();
    System.exit(-1);
} else {
    params.setProperty("command", args[i++]);
    for ( int k = 1; i < args.length; i++,k++ ){
	params.setProperty("arg"+k, args[i]);
    }
}
return params;
   }
 
开发者ID:dozed,项目名称:align-api-project,代码行数:75,代码来源:AlignmentClient.java


注:本文中的gnu.getopt.Getopt类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。