项目中发现别人写好的操作系统相关的工具类:

我总结的类似相关博客:http://www.cnblogs.com/DreamDrive/p/4289860.html

 import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.List; /**
* OS Utility Class This is used to obtain the os related var programmatically
*
* <p>
* <a h ref="OSUtil.java.html"><i>View Source</i></a>
* </p>
*
* */
public class OSUtil { public static String LIUNX = "Linux";
public static String WINDOWS = "Windows"; /**
* 功能: 将windows路径转换成linux路径
*/
public static String convert2linuxPath(String _path){
if(isLinuxSystem()){
int index = _path.indexOf(":");
if(index>1 || index == -1) //不含有盘符 return _path; SysstoredevMgr _sM = new SysstoredevMgr() ;
List<Sysstoredev> _list = _sM.findAll() ;
for( Sysstoredev _sd : _list ){
String _driver = ConvertString.ConvertStr(_sd.getDriver()) ;
if(_path.startsWith(_driver)){
return FileNameUtil.correctFileName4Linux(_path.replace(_driver, ConvertString.ConvertStr(_sd.getLpath()))) ;
}
}
}
return _path;
} /**
* 获得主机名称
* obtain the host name in form of string
*
* @return String
* @throws UnknownHostException
*/
public static String getHostName() throws UnknownHostException {
InetAddress inetaddr = InetAddress.getLocalHost();
return inetaddr.getHostName();
} /**
* 获得主机IP
* obtain the ip address of the host in form of string
*
* @return String
* @throws UnknownHostException
*/
public static String getHostIP() throws UnknownHostException {
InetAddress inetaddr = InetAddress.getLocalHost();
return inetaddr.getHostAddress();
} /**
* 测试给定的主机是否是本地主机.
* check if the given host is the local host
*
* @param hostname String
* @param hostip String
* @return boolean
* @throws UnknownHostException
*/
public static boolean isNative(String hostname, String hostip) {
try {
hostname = (hostname == null ? "" : hostname);
hostip = (hostip == null ? "" : hostip); InetAddress inetaddr = InetAddress.getLocalHost();
if (hostname.equals(""))
return inetaddr.getHostAddress().equalsIgnoreCase(hostip); if (!inetaddr.getHostName().equalsIgnoreCase(hostname))
return false; if (hostip.length() > 0) {
InetAddress[] inetaddrs = InetAddress.getAllByName(inetaddr.getHostName());
boolean b = false;
for (int i = 0; i < inetaddrs.length; i++) {
if (inetaddrs[i].getHostAddress().equalsIgnoreCase(hostip)) {
b = true;
break;
}
}
return b;
} else {
return true;
}
} catch (UnknownHostException e) {
return false;
}
} /**
* 获得指定的环境变量的值
* @param envvarname
* @param defaultvalue
* @return
*/
public static String getEnvironmentVar(String envvarname,
String defaultvalue) {
String str = System.getenv(envvarname);
str = (str == null ? "" : str);
return (str.length() == 0 ? defaultvalue : str);
} /**
* 判断是否是Linux操作系统
* @return
*/
public static Boolean isLinuxSystem(){
if(OSUtil.LIUNX.equals(System.getProperty("os.name"))){
return true;
}
return false;
} public static void main(String[] args) throws Exception{ System.out.println(OSUtil.convert2linuxPath("M:\\hello\\abc.txt")); System.out.println(OSUtil.convert2linuxPath("M:\\hello/abc.txt")); System.out.println(OSUtil.convert2linuxPath("/linux/p\\u.png")); } }

Java中windows路径转换成linux路径等工具类的更多相关文章

  1. java中汉字自动转换成拼音

    java中汉字自动转换成拼音 1.需要下载jar包 pinyin4j.2.5.0.jar ,加入到WEB-INF下的lib里边,右键add to bulid path. 2.[代码]PinYinUti ...

  2. Java中创建操作文件和文件夹的工具类

    Java中创建操作文件和文件夹的工具类 FileUtils.java import java.io.BufferedInputStream; import java.io.BufferedOutput ...

  3. Java中的List转换成JSON报错(五)

    1.错误描述 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/beanu ...

  4. Java中的List转换成JSON报错(四)

    1.错误描述 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/colle ...

  5. Java中的List转换成JSON报错(二)

    1.错误描述 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/loggi ...

  6. Java中的List转换成JSON报错(一)

    1.错误描述 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/ ...

  7. Java中常用的加密方式(附多个工具类)

    一.Java常用加密方式 Base64加密算法(编码方式) MD5加密(消息摘要算法,验证信息完整性) 对称加密算法 非对称加密算法 数字签名算法 数字证书 二.分类按加密算法是否需要key被分为两类 ...

  8. JAVA中把ResultSet转换成LIST

    项目中老是遇到数据库异常关闭的情况,真烦, 想用hibernate呢,那个玩意儿又太笨重,感慨C#和PHP的舒适方便性,模拟TP写了个数据处理层,将就用着先代码里有很多项目中的东西,不要直接COPY了 ...

  9. Java中的List转换成JSON报错(三)

    1.错误描述 Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher a ...

随机推荐

  1. mark标签:

    mark元素表示页面中需要突出或高亮显示的内容,在搜索结果中也常常出现,比如检索结果中的关键词高亮显示. 案例:[html]<!DOCTYPE HTML><html>    & ...

  2. oracle中in与exists的区别

    exists是用来判断是否存在的,当exists中的查询存在结果时则返回真,否则返回假.not exists则相反. exists做为where 条件时,是先对where 前的主查询询进行查询,然后用 ...

  3. C++中动态申请二维数组并释放方法

    C/C++中动态开辟一维.二维数组是非常常用的,以前没记住,做题时怎么也想不起来,现在好好整理一下. C++中有三种方法来动态申请多维数组 (1)C中的malloc/free (2)C++中的new/ ...

  4. VBA在Excel中的应用(一):改变符合条件单元格的背景颜色

    在使用excel处理数据的时候,为了能更清晰的标示出满足特定条件的单元格,对单元格添加背景色是不错的选择.手工处理的方式简单快捷,但是当遇到大批量数据,就会特别的费时费力,而且不讨好(容易出错).通过 ...

  5. OC内存管理基础

    OC 内存管理基础 一. retain和release基本使用 使用注意: 1.你想使用(占用)某个对象,就应该让对象的计数器+1(让对象做一次retain操作) 2.你不想再使用(占用)某个对象,就 ...

  6. InvokeHelper,让跨线程访问/修改主界面控件不再麻烦(转)

    http://bbs.csdn.net/topics/390162519 事实上,本文内容很简单且浅显,所以取消前戏,直接开始.. 源代码:在本文最后 这里是一张动画,演示在多线程(无限循环+Thre ...

  7. 关于ant的使用和入门知识

    入门技术 在学习struts+spring+hibernate,尤其是Appfuse的过程中大量涉及到ant的使用,因此我觉得有必要对ant做个比较深入的学习,以下是在学习过程中搜集的材料.比较详细, ...

  8. MultiCardMenu

    https://github.com/wujingchao/MultiCardMenu MultiCardMenu-master.zip

  9. 安卓Activity界面切换添加动画特效

    在Android 2.0之后有了overridePendingTransition() ,其中里面两个参数,一个是前一个activity的退出两一个activity的进入, @Override pub ...

  10. 动态SQL使用小结

    1.什么是动态SQL? 静态 SQL:静态 SQL 语句一般用于嵌入式 SQL 应用中,在程序运行前,SQL 语句必须是确定的,例如 SQL 语句中涉及的列名和表名必须是存在的.静态 SQL 语句的编 ...