当前位置: 首页 > 后端技术 > Java

基于JAVA的Java简单命令

时间:2023-04-01 16:11:02 Java

java-cp命令有两个路径,其中有psdir下com/test/training/下的Main.class和Student.class路径,libdir下com/newtest/support/下的Other.class路径。在mydir下执行命令//Windowsjava-cp\psdir;\libdircom.test.training.Main//Unixplatformsjava-cp/psdir:/libdircom.test.training.Main如果在psdir路径下就是training.jar包,以及com包中的/test/training/路径下还有Main.class和Student.class等其他路径,libdir下的com/newtest/support/路径下有Other.class。在mydir下执行命令//Windowsjava-cp\psdir\training.jar;\libdircom.test.training.Main//Unixplatformsjava-cp/psdir/training.jar:/libdircom.test.training.Mainmydirpathourapp.jar,jar包中包含Manifest文件,而com/test/training/路径下有Main.class和Student.class,Other.classManifest-Version:1.0Main-Class:com.test.training.Main只能此时执行java-jarourapp.jar环境变量//设置变量并取出Propertiesprops=newProperties();props.setProperty("displayName","卜雪松");Stringname=props.getProperty("displayName");System.out.println("姓名:"+姓名);StringacctNum=props.getProperty("accountNumber");系统。out.println("acctNum:"+acctNum);StringnextPosition=props.getProperty("accountNumber","1");System.out.println("nextPosition:"+nextPosition);//获取系统变量Stringusername=System.getProperty("user.name");System.out.println(username);StringuserHome=System.getProperty("user.home");System.out.println(userHome);StringosArchitecture=System.getProperty("os.arch");System.out.println(osArchitecture);StringjavaVendor=System.getProperty("java.vendor");System.out.println(javaVendor);Mapmap=System.getenv();for(Stringkey:map.keySet()){System.out.println("key:"+key+";value="+map.get(key));}StringlogName=System.getenv("LOGNAME");System.out.println(logName);将属性变量存入xml中publicstaticvoidXMLtest(){Propertiesprop=newProperties();prop.setProperty("displayName","雪松布");prop.setProperty("accountNumber","1-234-567");try(OutputStreamout=Files.newOutputStream(Paths.get("/Users/buxuesong/Documents/svn_code/demo/prop.xml"))){prop.storeToXML(out,"Myaccount");}catch(Exceptione){System.out.println(e.getClass().getSimpleName()+"|"+e.getMessage());}PropertiesinProp=newProperties();try(InputStreamin=Files.newInputStream(Paths.get("/Users/buxuesong/Documents/svn_code/demo/prop.xml"))){inProp.loadFromXML(in);}catch(Exceptione){System.out.println(e.getClass().getSimpleName()+"|"+e.getMessage());}StringdisplayName=inProp.getProperty("displayName");System.out.println("displayName:"+displayName);StringaccountNumber=inProp.getProperty("accountNumber");System.out.println("accountNumber:"+accountNumber);}生成的xml我的帐号雪松布1-234-567输出日志:displayName:XuesongBuaccountNumber:1-234-567默认Properties模式,创建Properties时,不用读取每次Area,都可以通过前面的Properties构造方法默认创建publicstaticvoiddefaultProperties(){Propertiesdefaults=newProperties();defaults.setProperty("位置","1");属性props=newProperties(defaults);StringnextPos=props.getProperty("position");intpos=Integer.parseInt(nextPos);System.out.println("位置:"+位置);props.setProperty("position",Integer.toString(++pos));nextPos=props.getProperty("位置");System.out.println("nextPos:"+nextPos);}Output:pos:1nextPos:2通过读取默认的Properties,将句点存储为xml,以后可以再次取出来。下面程序在第一次执行时从默认的MyDefaultValues.xml中取出内容,放入userProps中,然后将userProps存储到文件userValues.xml中,再从userValues中取出最后存储的值第二次执行后。publicclassMain{publicstaticvoidmain(String[]args){try{PropertiesdefaultProps=newProperties();尝试(输入流在putStream=Main.class.getClassLoader().getResourceAsStream("MyDefaultValues.xml")){defaultProps.loadFromXML(inputStream);}属性userProps=newProperties(defaultProps);loadUserProps(userProps);StringwelcomeMessage=userProps.getProperty("welcomeMessage");StringfarewellMessage=userProps.getProperty("farewellMessage");System.out.println("欢迎消息:"+welcomeMessage);System.out.println("告别消息:"+告别消息);if(userProps.getProperty("isFirstRun").equalsIgnoreCase("Y")){userProps.setProperty("welcomeMessage","欢迎回来");userProps.setProperty("farewellMessage","现在一切都会很熟悉了");userProps.setProperty("isFirstRun","N");保存用户道具(用户道具);}}catch(Exceptione){System.out.println(e.getClass().getSimpleName()+"|"+e.getMessage());}}privatestaticPropertiesloadUserProps(PropertiesuserProps){PathuserFile=Paths.get("/Users/buxuesong/Documents/svn_code/demo/userValues.xml");if(Files.exists(userFile)){try(InputStreaminputStream=Files.newInputStream(userFile)){userProps.loadFromXML(inputStream);}catch(Exceptione){System.out.println(e.getClass().getSimpleName()+"|"+e.getMessage());}}返回userProps;}privatestaticvoidsaveUserProps(PropertiesuserProps){try(OutputStreamoutputStream=Files.newOutputStream(Paths.get("/Users/buxuesong/Documents/svn_code/demo/userValues.xml"))){userProps.storeToXML(outputStream,null);}catch(Exceptione){System.out.println(e.getClass().getSimpleName()+"|"+e.getMessage());}}}MyDefaultValues.xml内容为:Y111Hellonewcomer很快就不一样了第一次运行输出:welcomeMessage:111HellonewcomerfarewellMessage:很快就会不同第二次运输输出:welcomeMessage:WelcomebackfarewellMessage:Thingswillbefamiliarnow

最新推荐
猜你喜欢