Sunday, October 3, 2010

Determine user details from a Java program


When we want to get details of the host pc from a java program , we can use the getProperty() method of System class in java.lang package. According to the java documentation(SE6) we can get following information using this class.
Key Description of Associated Value
java.version Java Runtime Environment version
java.vendor Java Runtime Environment vendor
java.vendor.url Java vendor URL
java.home Java installation directory
java.vm.specification.version Java Virtual Machine specification version
java.vm.specification.vendor Java Virtual Machine specification vendor
java.vm.specification.name Java Virtual Machine specification name
java.vm.version Java Virtual Machine implementation version
java.vm.vendor Java Virtual Machine implementation vendor
java.vm.name Java Virtual Machine implementation name
java.specification.version Java Runtime Environment specification version
java.specification.vendor Java Runtime Environment specification vendor
java.specification.name Java Runtime Environment specification name
java.class.version Java class format version number
java.class.path Java class path
java.library.path List of paths to search when loading libraries
java.io.tmpdir Default temp file path
java.compiler Name of JIT compiler to use
java.ext.dirs Path of extension directory or directories
os.name Operating system name
os.arch Operating system architecture
os.version Operating system version
file.separator File separator ("/" on UNIX)
path.separator Path separator (":" on UNIX)
line.separator Line separator ("\n" on UNIX)
user.name User's account name
user.home User's home directory
user.dir User's current working directory

I have written a Java class to encapsulate these data. lets see the class and a sample program.

class UserInfo
//© http://imagocomputing.blogspot.com/

class UserInfo {
 private String getInfo(String key){
  return System.getProperty(key);
 }
 
 public String getVersion(){
  return getInfo("java.version");
 } 
 
 public String getJavaHome(){
  return getInfo("java.home");
 } 
 
 public String getTempDir(){
  return getInfo("java.home");
 } 
 
 public String getOS(){
  return getInfo("os.name");
 } 
 
 public String getOSVer(){
  return getInfo("os.version");
 } 
 
 public String getUserName(){
  return getInfo("user.name");
 } 
 
 public String getUserHome(){
  return getInfo("user.home");
 } 
 
 public String getfileSeperator(){
  return getInfo("file.separator");
 }
}
class UserInfoTest
class UserInfoTest {
 public static void main(String args[]){
  UserInfo useInf=new UserInfo();
  System.out.println("JRE Version \t: "+useInf.getVersion());
  System.out.println("JRE Directory \t: "+useInf.getJavaHome());
  System.out.println("JRE Temp Dir \t: "+useInf.getTempDir());
  System.out.println("OS Name \t: "+useInf.getOS());
  System.out.println("OS version \t: "+useInf.getOSVer());
  System.out.println("User Name \t: "+useInf.getUserName());
  System.out.println("User Home \t: "+useInf.getOSVer());
  System.out.println("File Seperator \t: "+useInf.getfileSeperator());
 }
}

Output:

5 comments:

Unknown on February 27, 2012 at 11:05 PM said...

Hello.... informative read.. being enrolled in a JAVA programming course @ http://www.wiziq.com/course/1617-core-java-for-beginners-icse-students I was looking for such material on the net to boost up my preparation.. thanks :)

Unknown on January 27, 2017 at 4:32 AM said...

A constructor has same name as the class in which it resides. Constructor in Java can not be abstract, static, final or synchronized. These modifiers are not allowed for constructor.

java training in chennai

Nandhini on February 1, 2017 at 3:19 AM said...

Great Article… I love to read your articles because your writing style is too good, its is very very helpful for all of us and I never get bored while reading your article because, they are becomes a more and more interesting from the starting lines until the end.
Pest Control in Chennai

Swethapriya on February 2, 2017 at 2:52 AM said...

i like this kind of blog information really very nice and more new skills to develop after reading that post.

Invisalign Treatment In Chennai

Unknown on February 9, 2017 at 4:56 AM said...

nice steps you are covered in this topic. its much useful to me. keep update more things about more test preparation and questions and how to rectify absolute answer.
Germany Education Consultants in Chennai

Post a Comment

Stats

ලාංකීය සිතුවිලි

lankeeya sithuwili

Blog Catalogs

 

Let's Learn Java API. Copyright 2010 All Rights Reserved