Java 中如何知道 当前的操作系统是 32bit还是64bit, 等高手。 Java 中如何知道 当前的操作系统是 32bit还是64bit, 等高手。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 查看系统信息可用下面语句:System.getProperties().list(System.out); 试一下这个: System.out.println("操作系统位数:"+System.getProperty("sun.arch.data.model")); 楼上正解, 参考http://lopica.sourceforge.net/os.html System.getProperty("sun.arch.data.model")-----------------------我觉得这个不能代表操作系统是否是 32bit 还是 64bit,它应该表示java平台无关的一个原因,以 32bit 为基准,无论在哪个操作系统下.以上是个人见解,如果不对的话,希望大家指出,谢谢. 可以采取C/java 结合的形式获取.OSBit.C 文件,生成 OSBit.exe原理:以指针存储的是地址线为根据.#include "stdio.h"int main(int argc, char* argv[]){ printf("%d",8*sizeof(argv)); return 0;}T.java 文件import java.io.*;public class T { public static void main(String[] args) throws Exception { Process proc = Runtime.getRuntime().exec("OSBit.exe"); proc.waitFor(); BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream())); String str = in.readLine(); System.out.println("当前操作系统是"+str.trim()+"位"); }}将上面两文件放在同一目录下.运行F:\Enroll\OSBit\Debug>java T当前系统是32位F:\Enroll\OSBit\Debug> 觉得此君 yuzl32(Hello!有酒醉)解决方法很有意思~直接借鉴~:)试试先~ System.getProperty("sun.arch.data.model");这个我在问这个问题之前,就已经试过,不具有 可行性。我可以很明确的告诉你: 这个不行,在linux下甚至连这个变量都没有,这只是sun自己 规定的东西。To 回复人: yuzl32(Hello!有酒醉) 他的方法可行,但 不现实,自己写的程序没问题,商用不可能。顺便提醒 你一句:你的C代码 不用那么麻烦:sizeof(ulong);这个 就可以了。继续等... 还有阿 yuzl32(Hello!有酒醉)你的那个输入因该接受不了: 我写过一个能 得到外部输入和输出的调用外部程序的java模块,比你这个好用,不过有时候还是会有问题。呵呵,java对 底层的支持太差了,这会限制它的发展,真希望sun能 改进这一点。不过这样可能会牺牲 它的跨平台性,不过真正的java跨 平台性 更本不存在 java如何实现字符拆分功能 JAVA和.NET两个方向,需要怎么选择呢? 如何刷新当前页面,使删除后的数据从当前列表框中移除? 低手勿进 在JAVA中如何打开帮助文档? 继续问这个问题! 有谁用过jakarta-poi开发过什么? "==" 和equal 和什么区别?有什么相同? 在JBuilder6中如何看一个类的继承树(从object到该类) 我用Java swing坐了一个软键盘,怎么切换系统的输入法 API和MFC的意思? 请推荐一些JAVA的入门书籍
System.getProperties().list(System.out);
http://lopica.sourceforge.net/os.html
原理:以指针存储的是地址线为根据.#include "stdio.h"int main(int argc, char* argv[])
{
printf("%d",8*sizeof(argv));
return 0;
}T.java 文件import java.io.*;public class T
{
public static void main(String[] args) throws Exception
{
Process proc = Runtime.getRuntime().exec("OSBit.exe");
proc.waitFor();
BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String str = in.readLine();
System.out.println("当前操作系统是"+str.trim()+"位");
}
}将上面两文件放在同一目录下.运行
F:\Enroll\OSBit\Debug>java T
当前系统是32位F:\Enroll\OSBit\Debug>
试试先~
这个我在问这个问题之前,就已经试过,不具有 可行性。
我可以很明确的告诉你: 这个不行,在linux下甚至连这个变量都没有,这只是sun自己 规定的东西。
To
回复人: yuzl32(Hello!有酒醉)
他的方法可行,但 不现实,自己写的程序没问题,商用不可能。顺便提醒 你一句:你的C代码 不用那么麻烦:sizeof(ulong);这个 就可以了。继续等...