The previous properties article has described the basic usage of the Java configuration file class properties, and when viewing the Help documentation for the JDK, there are also two methods in the Properties class LoadFromXML (InputStream) and S Toretoxml (OutputStream, String, String), the XML in the method name is not difficult to determine that the two methods are read/write data to an XML file, respectively. The JDK documentation section looks like this:
Thus, this article demonstrates how the Properties class writes data to an XML file and how to read the data through a source instance. Of course, the data written to XML needs to conform to a certain standard, that is, in the form of key-value pairs, and the format of the resulting XML file can be referenced in PROPERTIES.DTD.
Words do not say much, small two on the code ... Please refer to the small master. If there is any deficiency, please ask the great God to correct me, I appreciate it!
The source code for creating the XML file is as follows:
1 /**2 * @function Write data to XML file by Properties3 * 4 * @authorAARON.FFP5 * @versionv1.0.0:autouiselenium main.java.aaron.java.tools Fileutils.java propertieswritexml, 2014-11-20 16:47:47 EXP $ 6 * 7 * @paramfilename:full Path8 * @paramAuthor:creator9 * @paramConfigs:file ContentsTen * @returnBoolean One */ A Public BooleanPropertieswritexml (string filename, string author, arraylist<string[]>configs) { -Properties Properties =NewProperties (); - BooleanSuccess =false; the - /*parameter check: argument illegal, throw argument invalid exception*/ - if(FileName = =NULL|| ". Equals (filename) | | Author = =NULL|| "". Equals (author) | |Configs.isempty ()) { - Throw Newillegalargumentexception (); + } - + Try { AOutputStream OS =Newfileoutputstream (filename); at - for(string[] row:configs) { -Properties.setproperty (Row[0].trim (), row[1].trim ()); - } - -Properties.storetoxml (OS, "Author:" + author, "UTF-8"); in os.close (); - toSuccess =true; +}Catch(IOException IoE) { - This. Message = "file {" + filename + "} Write Failed! "; the This. Logger.error ( This. message, IOE); * } $ Panax Notoginseng returnsuccess; -}
Properties write Java xml config file source code
Read the XML file source code as follows:
1 /**2 * @function Read XML file by Properties3 * 4 * @authorAARON.FFP5 * @versionv1.0.0:autouiselenium main.java.aaron.java.tools Fileutils.java xmlreadbyproperties, 2014-11-20 16:46:53 EXP $ 6 * 7 * @paramFileName: File full path8 * 9 * @returnPropertiesTen */ One PublicProperties propertiesreadxml (String filename) { AProperties Properties =NewProperties (); - - /*parameter check: null or empty string when throwing argument illegal exception*/ the if(FileName = =NULL|| ". Equals (filename) | |! This. Assertfiletype (FileName, "XML")) { - Throw Newillegalargumentexception (); - } - + Try { - /*get File data stream*/ +InputStream is =Newfileinputstream (filename); A /*load File data stream*/ at Properties.loadfromxml (IS); - /*close File Data flow*/ - is.close (); -}Catch(IOException IoE) { -Properties =NULL; - in This. Message = "file {" + filename + "} Read failed! "; - This. Logger.error ( This. message, IOE); to } + - returnproperties; the}
Properties read Java XML config file source code
The test source is as follows:
1 /**2 * Test:write/read Data to/from XML file3 * 4 * @authorAARON.FFP5 * @versionv1.0.0:autouiselenium test.java.aaron.java.tools Fileutilstest.java test_propertieswritexml, 2014-11-20 16:53:53 EXP $6 *7 */8 Public voidTest_propertieswritereadxml () {9 This. Message = "\n\n\ntest:fileutils.propertieswritexml (string filename, string author, arraylist<string[]> configs )" +Ten"\ fileutils.propertiesreadxml (String filename)"; One This. Logger.debug ( This. message); A - This. Fu =NewFileUtils (); -String filename = This. constantslist. Projecthome + This. constantslist. Fileseparator + the"Testng-temp" + This. constantslist. Fileseparator + "Test_propertieswritereadxml.xml"; - -arraylist<string[]> configs =NewArraylist<string[]>(); - +String author = "AARON.FFP"; - + for(inti = 0; I < 10; i++) { Astring[] row =NewString[2]; at -Row[0] = i + ""; -ROW[1] = "The row number is" + (i + 1); - - Configs.add (i, row); - } in - if( This. Fu.propertieswritexml (filename, author, configs)) { toAssert.assertequals ( This. Fu.propertiesgetvalue ( This. Fu.propertiesreadxml (FileName), "2"), "The row number is 3" and "Test case failed."); +}Else { - This. Message = "Test case failed, check the data file:" +filename; theAssert.fail ( This. message); * }; $}
Properties read Java XML configuration file test source
The program execution results are as follows:
The contents of the generated XML file are as follows:
At this point, the Java learning -023-properties class to create an XML file successfully completed, I hope this article can give beginners Java you a reference.
Finally, very grateful to the pro-stop, I hope this article can be pro helpful. Warmly welcome the kiss to discuss together and progress together. Thank you so much! ^_^
Java Learning -023-properties Class XML configuration file read and write source code