freebsd和windows的操作系统的路径不太一样,
.class.getResource获得的路径分别是:
file:/usr
file:/d:/
在freebsd中/usr/这样的路径是郑州的,在windows中要d:/
截取路径一个是subscript(5)
一个是subscript(6)
这样就有必要先判断下是什么操作系统后再做截取
获取系统属性
系统属性是指与用户程序相关的操作系统配置信息以及软件信息。通常与用户程序相关的属性关键字包括:
●file.separator : 文件分隔符, Windows环境下为“\",Unix环境下为“/”;
●user.home :用户主目录;
●java.home :Java实时运行环境的安装目录;
●java.ext.dirs :JDK的安装目录;
●os.name :操作系统名称;
●user.name :用户登录名称;
●os.version :操作系统版本;
●path.separator :当前操作系统的路径分隔符;
●user.dir :当前用户程序所在目录。
Properties prop = System.getProperties();
String os = prop.getProperties("os.name")
os.startWith("win") || os.startWith("Win") == windows操作系统
// http://topic.csdn.net/t/20060825/10/4974680.html http://xs.tzblog.com/item/1400
XXXClass.class.getResourceAsStream("path.properties") 获取当前目录下的此文件
import java.net.URL;
public class OS {
public static final String CLASS_PATH;
public static final boolean isLinux;
static {
URL resource = OS.class.getResource("OS.class");
String classPath = resource.getPath();
String className = OS.class.getName().replace('.', '/') + ".class";
String classesPath = classPath.substring(0, classPath.indexOf(className));
if (System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") != -1&& classesPath.startsWith("/")) {
classesPath = classesPath.substring(1);
isLinux = false;
} else {
isLinux = true;
}
CLASS_PATH = classesPath;
}
public static void main(String arg[]){
System.out.println(OS.isLinux);
}
}
分享到:
相关推荐
总之,Java提供了一系列的API来获取和判断操作系统的版本和类型,这使得开发者能够编写出高度可移植的应用程序。通过`System.getProperty()`和`ManagementFactory.getOperatingSystemMXBean()`,我们可以轻松地获取...
下面我们将深入探讨如何使用Java来判断操作系统类型,并详细解析给定的`judgeOS`项目。 首先,我们需要导入`java.lang.System`类。在Java源代码文件中,通常会包含如下导入语句: ```java import java.lang.System;...
区分操作系统,更方便代码测试和执行
写的较粗糙,可以按自己的需要进行优化。里面主要是通过执行cmd命令然后将所得内容转成String类型(可跟自己需要来)
了解如何判断操作系统是开发者、系统管理员以及普通用户日常工作中经常遇到的问题,尤其在编写跨平台应用程序时尤为重要。下面将详细讨论如何识别Windows家族中的不同版本,包括WIN2K(Windows 2000)、WINXP...
java准确的获取操作系统的名称 java获取系统 os.name java系统名称 System使用 系统工具类 自己封装的Util类,功能强大,原理简单。 初学者可以下载下来进行学习。可以判断mac、linux、window等等系统。如win7,win8,...
### Java判断数据库表是否存在 在Java开发中,经常会遇到需要检查特定表是否存在于数据库中的情况。这通常是数据库操作流程中的一个重要环节,确保后续的操作(如插入、更新或删除数据)能够顺利进行。本文将详细...
在编程领域,特别是Java语言中,判断一个年份是否为平年或闰年是一项常见的任务。这涉及到日期和时间处理,通常与...在学习和使用Java进行日期和时间操作时,掌握这些基础知识能够帮助我们更好地应对各种场景下的问题。
这个Java程序可能包含了分析UA字符串的类和方法,如`parseUserAgent()`,其中会细分出浏览器类型、版本、操作系统等信息。 PHP也是Web开发中常用的语言,它的实现方式可能包括使用内置的`$_SERVER['...
操作系统课程设计报告:二级文件系统Java参考 课程设计的目的是使学生熟悉文件管理系统的设计方法,深入理解操作系统中文件系统的理论知识,并加深对教材中的重要算法的理解。通过编程实现这些算法,提高综合运用各...
在给出的代码片段中,虽然代码是以C++的形式出现,并且尝试混合了多种语言特性(例如使用`#include`来导入JAVA中不支持的库),但可以观察到对于不同功能模块的支持,这有助于理解JAVA程序如何与操作系统进行交互。...
Java以其跨平台的特性,保证了系统的兼容性,无论是Windows、Linux还是Mac操作系统,都能稳定运行。同时,Java的面向对象编程理念使得代码结构清晰,易于维护和扩展。 系统的核心部分包括以下几个模块: 1. **试题...
操作系统是计算机系统的核心组成部分,负责管理和控制系统的硬件资源,为用户提供高效、便捷的服务。本实验报告将探讨两个关键概念:作业调度和银行家算法,并通过Java编程语言进行实现。Java是一种广泛使用的、跨...
Java是一种面向对象、平台无关的编程语言,适合编写复杂系统如操作系统的模拟程序。它的类库丰富,语法清晰,且有强大的跨平台能力,使得Java成为进行系统模拟和仿真项目的理想选择。 对于批处理系统的两级调度,...
- **空路径或非法路径**:确保传递给`File`构造函数的路径是有效的,并且遵循操作系统的路径格式规范。 - **权限问题**:检查程序是否有足够的权限访问指定的文件或目录。对于Windows系统,可以尝试以管理员身份运行...
### 操作系统实习:Java实现模拟文件管理系统 #### 实验背景与目标 本实验旨在通过编写Java程序来模拟一个简单的文件管理系统,目的是让学生理解操作系统中文件管理的核心概念,并通过实际编程加深对这些概念的理解...
通过这个【JAVA 桌面考试系统】的项目,学习者可以深入理解JAVA编程,掌握GUI设计、数据库操作、多线程编程等实际技能,为今后的软件开发工作打下坚实的基础。而源代码的分析和研究则能帮助初学者提升阅读和调试代码...
3. 权限控制:系统采用判断语句区分管理员和普通用户,控制按钮的可用性,保证数据安全。 4. 密码管理:为简化学生密码管理,系统创建独立的密码表,关联学生信息,便于密码的修改和验证。 5. 界面设计:注重界面...
7. **关闭资源**:操作完成后,记得使用`Workbook.close()`方法关闭工作簿,释放系统资源。 本项目特别强调“判断解析的数据类型”,这意味着在处理Excel数据时,开发者可能着重于检查每个单元格的数据是否符合预期...
Java学生考勤系统是一种基于Java编程语言开发的用于管理学生出勤情况的应用程序。这个系统通常包括多个模块,如用户管理、课程管理、学生管理、教师管理以及考勤记录等功能,旨在提高教育机构的行政效率。 一、系统...