/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ import java.util.*; import java.awt.*; /** This class prints out the system properties. We cannot print the strings directly because of encoding issues. Since about 1.3.1 one can start java with the option -Dfile.encoding=UTF-8, but unfortunately this works only with later update - versions (for example, 1.3.1_07). Therefore we use this scheme. The property string has this form: name=value Every character is cast to an integer which value is printed, followed by a space. If all characters of the string are printed, then a new line is printed. */ public class JREProperties { static public void main(String[] args) { try { boolean bNoAccess = false; if(args.length > 0) { if (args[0].equals("noaccessibility")) bNoAccess = true; } //Find out on what operation system we are running. On Windows 98 //we must not call getDefaultToolkit, because the office may freeze //#i44608. boolean bW98 = false; String os = System.getProperty("os.name"); if (os != null) { os = os.trim(); if (os.equalsIgnoreCase("Windows 98") || os.indexOf("Windows 98") != -1) bW98 = true; } //We need to be able to switch this part off because //it causes an exception if the DISPLAY variable has //a false value. Setting the noaccessibility argument //can be done by providing a sunjavaplugin.ini with //the bootstrap parameter JFW_PLUGIN_NO_NOT_CHECK_ACCESSIBILITY //set to "1" if (bNoAccess == false && ! bW98) { try{ //This line is needed to get the accessibility properties Toolkit tk = java.awt.Toolkit.getDefaultToolkit(); } catch(Throwable e) { System.err.println(e); } } Properties p = System.getProperties(); Enumeration e = p.propertyNames(); for (; e.hasMoreElements() ;) { String sProp = (String) e.nextElement(); String sCompleteProp = sProp + "=" + p.getProperty(sProp); char[] arChars = new char[sCompleteProp.length()]; sCompleteProp.getChars(0, sCompleteProp.length(), arChars, 0); for (int c = 0; c < arChars.length; c++) { System.out.print(String.valueOf((int) arChars[c])); System.out.print(" "); } System.out.print("\n"); } } catch(Exception e) { System.err.println(e); } System.exit(0); } }