• Java 参数包


    简介

    中大型Java项目普遍需要调配许多参数,本文引入参数包,用系统快捷的方法管理参数。效果如下:

    Poster	[options...]	[arguments...]
     -dictFile VAL       : Specify file of dictionary
     -filterLemmaCount N : Specify the least sum of leammas each word
     -filterLine N       : Specify the least sum of words tagged each line
     -length N           : Specify the sum of source lines
     -sourceFile VAL     : Specify source corpus 
     -workPath VAL       : Specify path of workspace 
    

    外接包

    • 1.下载 args4j-2.0.6.jar 放到工程lib文件夹下.
    • 2.Build Path -> Add External Archives -> 选中项目lib下的args4j包.

    使用

    • 1.Options类
    package poster;
    
    import org.kohsuke.args4j.*;  //导入包
    
    public class Options{
    	
    	
    	@Option(name = "-workPath", usage = "Specify path of workspace ")
    	public String workPath = "/home/cyno/corpus/large2/";
    	
    	@Option(name = "-sourceFile", usage = "Specify source corpus ")
    	public String sourceFile = "large2.en";
    	
    	@Option(name = "-dictFile", usage = "Specify file of dictionary")
    	public String dictFile = "index.adj";
    	
    	@Option(name = "-length", usage = "Specify the sum of source lines")
    	public Integer length = 100000;
    	
    	@Option(name = "-filterLine", usage = "Specify the least sum of words tagged each line")
    	public Integer filterLine = 4;
    	
    	@Option(name = "-filterLemmaCount", usage = "Specify the least sum of leammas each word")
    	public Integer filterLemmaCount = 10;
    		
    }
    
    • 2.Main调用
    package poster;
    
    import org.kohsuke.args4j.*;
    
    public class Poster{
    	public static void main(String [] args){
    		
    		Options option = new Options();
    		CmdLineParser parser = new CmdLineParser(option);
    		
    		if (args.length == 0){
    			System.out.println("Poster	[options...]	[arguments...]");
    			parser.printUsage(System.out);
    			return;
    		}
    		
                 // ...........
    	}
    }
    
    • 3.参数使用
    public boolean init(Options option) {
    		
    		if (!option.workPath.endsWith(File.separator)){
    			option.workPath += File.separator;
    		}
    		this.option = option;
    		this.sourceFile = option.workPath + option.sourceFile;
    		this.length = option.length;
    		this.filter = option.filterLine;
    		this.coreFile = option.workPath + "core.dat";
    		this.withOrderFile = option.workPath + "withOrder.dat";
    		this.lemmaPath = option.workPath + "lemmas/";
    		try{
    			File lemmaPathFile = new File(this.lemmaPath);
    			if (!lemmaPathFile.isDirectory()){
    				lemmaPathFile.mkdirs();
    			}
    		}catch(Exception e){
    			System.out.println("Error When build lemma path!" + e.getMessage());
    			e.printStackTrace();
    		}
    		
    		
    		// Read Dictionary
    		dict.init(option.workPath+option.dictFile, option.workPath+"wordList.dat", option.filterLemmaCount);
    		dict.readDict();
    
    		return true;
    	}
    
  • 相关阅读:
    docker搭建本地仓库并制作自己的镜像
    docker命令及操作
    从零开始学android开发-项目打包发布
    从零开始学android开发-adt-bundle-eclipse下的修改android app名称
    从零开始学android开发-项目重命名
    Android Studio系列教程一--下载与安装
    Axure RP 7.0注册码
    MVC网站发布常见问题
    无间断滚动的新闻文章列表
    @HTML
  • 原文地址:https://www.cnblogs.com/cyno/p/4448293.html
Copyright © 2020-2023  润新知