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

📄 enviromentcontroller.java

📁 firefox的html解析器 本程序实现了想数据库中添加多媒体文件和文件说明
💻 JAVA
字号:
/**
 * 
 */
package com.dappit.Dapper.parser;

import java.io.File;

/**
 * @author Ohad Serfaty
 *
 */
public class EnviromentController 
{
	
	/**
	 * @author Ohad Serfaty
	 * An enumeration of the Operating system detected. 
	 * 
	 */
	public enum OS 
	{
		WIN , LINUX , MACOSX , UNKNOWN
	}
	
	private static OS OperatingSystem = null;
	
	public static String getOperatingSystemName() throws Exception{
		switch (detectOperatingSystem())
		{
		case WIN :
			return "win"; 
		case LINUX :
			return "lin";
		case MACOSX:
			return "macosx";
		}
		throw new Exception ("Could not detect Operating system.");
	}
	
	public static String getSharedLibraryExtension() throws Exception{
		switch (detectOperatingSystem())
		{
		case WIN :
			return ".dll"; 
		case LINUX :
			return ".so";
		case MACOSX:
			return ".jnilib";
		}
		throw new Exception ("Could not detect Operating system.");
	}
	
	public static OS detectOperatingSystem()
	{
		if (OperatingSystem != null)
			return OperatingSystem;
		String osName =  System.getProperty("os.name");
		System.out.println("Operating system : " +osName);
		
		if (osName.toLowerCase().contains("windows")){
			OperatingSystem = OS.WIN;
			return OS.WIN;
		}
		else
			if (osName.toLowerCase().contains("linux")){
				OperatingSystem = OS.LINUX;
				return OS.LINUX;
			}
			else
		if (osName.toLowerCase().contains("macosx") || (System.getProperty("mrj.version") != null)){
			OperatingSystem = OS.MACOSX;
			return OS.MACOSX;
		}
		return OS.UNKNOWN;
	}
	
	public static native void setenv(String variableName , String value);
	
	public static void addenv(String variableName , String valueToAdd)
	{
		String currentEnviromentVariable = System.getenv(variableName);
		EnviromentController.setenv(variableName,currentEnviromentVariable + valueToAdd);
	}
	
	public static void addenv(String variableName , String valueToAdd , String seperatorIfNotEmpty){
		String currentEnviromentVariable = EnviromentController.getenv(variableName);
		if (currentEnviromentVariable==null || currentEnviromentVariable.length()==0)
			addenv(variableName, valueToAdd);
		else
			addenv(variableName, seperatorIfNotEmpty + valueToAdd);
	}

	public static native String getenv(String variableName);
	
	public static void addLibraryDirectory(String directoryPath) throws Exception
	{
		switch (detectOperatingSystem())
		{
		case WIN :
			addenv("PATH" , directoryPath , File.pathSeparator);
			break;
		case LINUX :
			addenv("LD_LIBRARY_PATH" , directoryPath , File.pathSeparator);
			break;
		case MACOSX:
			addenv("DYLD_LIBRARY_PATH" , directoryPath , File.pathSeparator);
			break;
		case UNKNOWN: 
			throw new Exception ("Could not detect Operating system.");
		}
	}
	
	public static void main(String[] args) throws Exception 
	{
		System.load("C:\\dapper\\workspace\\Dapper\\java\\lib\\parser\\bin\\EnviromentController.dll");
		System.out.println(EnviromentController.detectOperatingSystem());
		System.out.println("BEFORE : PATH : " + EnviromentController.getenv("PATH"));
		EnviromentController.addLibraryDirectory("C:\\dapper\\mozilla\\dist\\bin");
		System.out.println("AFTER :PATH : " + System.getenv("PATH"));
		System.out.println("AFTER :PATH : " + EnviromentController.getenv("PATH"));
	}

}

⌨️ 快捷键说明

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