⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 propertiestest.java

📁 kaffe Java 解释器语言,源码,Java的子集系统,开放源代码
💻 JAVA
字号:
import java.io.*;import java.util.*;public class PropertiesTest {	private static final String INPUT_PREFIX = "//INPUT-";	public static void main(String[] args) throws Exception {		// Generate test input file into data1		BufferedReader r = new BufferedReader(		    new InputStreamReader(		    new FileInputStream(		    new File(args[0]))));		ByteArrayOutputStream data1 = new ByteArrayOutputStream();		PrintWriter p = new PrintWriter(		    new OutputStreamWriter(data1, "ISO_8859-1"));		for (String line; (line = r.readLine()) != null; ) {			if (!line.startsWith(INPUT_PREFIX))				continue;			p.println(line.substring(INPUT_PREFIX.length()));		}		p.flush();		p.close();		// Load expected properties		Properties expect = new Properties();		for (int i = 0; i < EXPECT.length / 2; i++)			expect.setProperty(EXPECT[i * 2], EXPECT[i * 2 + 1]);		// Read in input into p1		Properties p1 = new Properties();		p1.load(new ByteArrayInputStream(data1.toByteArray()));		// Verify contents of p1		verify(p1, expect);		// Write out to data2		ByteArrayOutputStream data2 = new ByteArrayOutputStream();		p1.store(data2, new Date().toString());		// Read in again into p2		Properties p2 = new Properties();		p2.load(new ByteArrayInputStream(data2.toByteArray()));		verify(p2, expect);		// OK		System.out.println("Done.");	}	private static void fail(String s) throws Exception {		System.out.println("FAILURE: " + s);	}	private static void verify(Properties p, Properties q)			throws Exception {		if (p.size() != q.size())			fail("size " + p.size() + " != " + q.size());		for (Iterator i = p.keySet().iterator(); i.hasNext(); ) {			String key = (String)i.next();			String val, val2;			if ((val = p.getProperty(key)) == null)				fail("key \"" + key + "\" missing?");			if ((val2 = q.getProperty(key)) == null)				fail("key \"" + key + "\" unexpected");			if (val2 != null && !val2.equals(val))				fail("key \"" + key + "\": wrong value: "				    + "\"" + val + "\" != \"" + val2 + "\"");		}	}	private static final String[] EXPECT = new String[] {		"fooKey",			"fooValue",		"barKey",			"override previous bar value",		"noEqualsSign",			"value",		"spacesAroundEqualsSign",	"this is the value",		"useColon",			"colon's value",		"key=contains=equals",		"value3",		"key:contains:colons",		"value4",		"key contains spaces",		"value5",		"backslashes",			"\r\n\t\\\"'",		"lineContinuation",			"this is a line continuation times two",		"unicodeString",			new String(new char[] { (char)0x1234, (char)0x5678 } ),		"controlKey",			new String(new char[] { (char)1, } ),		"keyWithEmptyStringAsValue",	""	};}// java args: PropertiesTest $1/* Expected Output:Done.*///INPUT-fooKey=fooValue//INPUT-controlKey:\u0001//INPUT-barKey=bar value//INPUT-barKey=override previous bar value//INPUT-noEqualsSign value//INPUT-spacesAroundEqualsSign   =  this is the value//INPUT-useColon : colon's value//INPUT-key\=contains\=equals=value3//INPUT-key\:contains\:colons=value4//INPUT-key\ contains\ spaces=value5//INPUT-backslashes = \r\n\t\\\"\'//INPUT-lineContinuation=this is a \//INPUT-   line continuation \//INPUT-   times two//INPUT-unicodeString=\u1234\u5678//INPUT-keyWithEmptyStringAsValue//INPUT-# a few blank lines follow//INPUT-//INPUT-//INPUT-# comment line//INPUT-      ## another comment line//INPUT-! another comment line//INPUT-      !! another comment line

⌨️ 快捷键说明

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