java中如何在类中判断客户端操作系统是32位的还是64位的操作系统

浏览器分32位和64位的吗?还是说浏览器装在多少位系统上就是多少位的

这个无法获取。。你只能根据请求的头去分析,一般是分析请求头中的UA,如下:
String userAgent = request.getHeader("user-agent");

/**
* 获取客户端操作系统信息,目前只匹配Win 7、WinXP、Win2003、Win2000、MAC、WinNT、Linux、Mac68k、Win9x
* @param userAgent request.getHeader("user-agent")的返回值
* @return
*/

public static String getClientOS(String userAgent)
{
String cos = "unknow os";

Pattern p = Pattern.compile(".*(Windows NT 6\\.1).*");
Matcher m = p.matcher(userAgent);
if(m.find())
{
cos = "Win 7";
return cos;
}

p = Pattern.compile(".*(Windows NT 5\\.1|Windows XP).*");
m = p.matcher(userAgent);
if(m.find())
{
cos = "WinXP";
return cos;
}

p = Pattern.compile(".*(Windows NT 5\\.2).*");
m = p.matcher(userAgent);
if(m.find())
{
cos = "Win2003";
return cos;
}

p = Pattern.compile(".*(Win2000|Windows 2000|Windows NT 5\\.0).*");
m = p.matcher(userAgent);
if(m.find())
{
cos = "Win2000";
return cos;
}

p = Pattern.compile(".*(Mac|apple|MacOS8).*");
m = p.matcher(userAgent);
if(m.find())
{
cos = "MAC";
return cos;
}

p = Pattern.compile(".*(WinNT|Windows NT).*");
m = p.matcher(userAgent);
if(m.find())
{
cos = "WinNT";
return cos;
}

p = Pattern.compile(".*Linux.*");
m = p.matcher(userAgent);
if(m.find())
{
cos = "Linux";
return cos;
}

p = Pattern.compile(".*(68k|68000).*");
m = p.matcher(userAgent);
if(m.find())
{
cos = "Mac68k";
return cos;
}

p = Pattern.compile(".*(9x 4.90|Win9(5|8)|Windows 9(5|8)|95/NT|Win32|32bit).*");
m = p.matcher(userAgent);
if(m.find())
{
cos = "Win9x";
return cos;
}

return cos;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-22
System.getProperty("os.arch");
可以通过数值判断
我的是64位的操作系统,返回值是:amd64
第2个回答  2013-08-22
打开“我的电脑”然后按右键,看见属性就点下去,就可以找到追问

java程序中 需要获取客户端操作系统类型 看属性没用 有其他方法吗

追答

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网