社区
Java SE
帖子详情
如何分别获取到用户PATH和系统PATH?
daimojingdeyu
2010-05-31 11:58:08
通过“我的电脑--右键--属性--高级--环境变量”可以在对话框中显示用户变量和系统变量两部分内容。
在java代码中可以有通过
System.getenv("path")
获取PATH变量的值,但是获取到的值是当前用户的用户变量中的PATH和系统变量中的PATH的合集。
如何才能分开获取这两个PATH?
...全文
433
11
打赏
收藏
如何分别获取到用户PATH和系统PATH?
通过“我的电脑--右键--属性--高级--环境变量”可以在对话框中显示用户变量和系统变量两部分内容。 在java代码中可以有通过 System.getenv("path") 获取PATH变量的值,但是获取到的值是当前用户的用户变量中的PATH和系统变量中的PATH的合集。 如何才能分开获取这两个PATH?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
氧气网航
2010-06-02
打赏
举报
回复
学习了。但找不到啊哦
i李小武
2010-06-02
打赏
举报
回复
下面代码是我找的 不知道有用否?
在我们写程序的时候,有时会要求保存一些数据,比如用户名或者别的,但是这样数据又不是保存在程序同一目录下,这样做太明显了,也不太安全,那怎么办呢?这个时候,如果能把数据保存到注册表里面去,那该多好,一来隐蔽,二来方便,不至于在程序目录下生成一大片文件.
在JAVA里面,可以利用java.util.prefs.Preferences来对注册表进行操作,我们先看一下例子吧
/*
* Test3.java
*
* Created on 2007-9-20, 18:41:41
*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package test1;
import java.util.prefs.Preferences;
/**
*
* @author hadeslee
*/
public class Test3 {
public static void main(String[] args)throws Exception {
Preferences pre=Preferences.systemNodeForPackage(Test3.class);
pre.put("userName", "hadeslee");
pre.putInt("age", 25);
pre.flush();
Preferences now=Preferences.systemNodeForPackage(Test3.class);
System.out.println(now.get("userName", "为空"));
System.out.println(now.getInt("age", 0));
}
}
这是一个最简单的例子,第一句就是根据包得到一个节点,然后把一些值放进去,可以放String,boolean,int,long,float,double等值 ,如果你想存入对象的话,可以把对象序列化成byte[],然后再存进来,然后读也是一样的,我们这样操作就像是在操作一个Map一个,所有的值都是存在这个映射里面.
那么它们保存在哪里呢?
如果选的是systemNode...则保存在[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs]
如果选的是userNode.... 则保存在[HKEY_CURRENT_USER\Software\JavaSoft\Prefs]
的子节点下面
不过话又说回来,如果我们想程序跨平台的话,这样是不太好的,我在linux上试过,每次程序退出,我设定的值都没有了,因为linux下面没有像windows一样的注册表,不知道linux下SUN是怎么实现的,为了可移植性,最好还是用java.uitl.Properties这个类,根据一个文本映射文件来进行值的操作,不过它也有不好的地方,它只能存入String对象,像byte[]就存不了了,如果要存的东西太复杂的话,干脆直接用数据库吧.:)
m33707
2010-06-02
打赏
举报
回复
学习...........
火龙果被占用了
2010-06-01
打赏
举报
回复
做不到,除非你自己去读取注册表中相关的键。
SARA621
2010-06-01
打赏
举报
回复
继续顶
SARA621
2010-06-01
打赏
举报
回复
楼上的,详细介绍一下
SARA621
2010-06-01
打赏
举报
回复
诚迈科技公司已吸引了一批世界级公司的关注
buzaibeishang4617016
2010-06-01
打赏
举报
回复
不懂,期待大虾解决
kuruby
2010-06-01
打赏
举报
回复
学习下。
daimojingdeyu
2010-06-01
打赏
举报
回复
somebody? anybody?
daimojingdeyu
2010-06-01
打赏
举报
回复
感谢火龙果。
另我再等一个小时,看还有没有其他人有不读注册表的方法。
得到计算机上Windows目录和
系统
目录
得到计算机上Windows目录和
系统
目录
Ui
Path
实战(09) - 不同Windows
用户
下的文件夹
获取
问题
在 Windows
系统
中,有些文件存放在了
用户
的目录下,例如浏览器下载的文件会默认放在“C:\Users\
用户
名\Downloads”。那么这种文件名我们要如何去
获取
呢。可以通过如下方法
获取
用户
名, 然后再将路径拼接起来 操作如下。可以通过 Ui
Path
提供的控件
获取
到当前
用户
的文件夹信息。......
配置
系统
PATH
环境变量
PATH
环境变量在操作
系统
中起着非常重要的作用,特别是在命令行或脚本中执行程序时,
系统
会根据
PATH
环境变量中定义的路径查找可执行文件。当
用户
在命令行或脚本中输入一个命令时,
系统
会根据
PATH
环境变量中定义的路径依次查找对应的可执行文件,如果找到则执行。本文详细介绍了如何配置
系统
的
PATH
环境变量,包括在Windows和Linux
系统
中的操作步骤。在Linux
系统
中,可以通过编辑shell配置文件来配置
PATH
环境变量,常用的shell配置文件包括.bashrc、.bash_profile等。
Linux
系统
中不同
用户
所使用的$
PATH
环境变量的区别
事情是这样的,在编程时发现分别使用“sudo -s“命令和“su - root“命令切换为超级
用户
后,能够执行的操作略有不同,譬如在”/etc/profile”文件中修改的
PATH
环境变量就不太一样,“sudo -s“命令切换后的超级
用户
使用的$
PATH
比较少,纳闷。贴几张图说明问题。 可以看出,sudo命令使用的是普通
用户
的环境变量;su - root命令和su -命令使用的是超级
用户
的环境变量
系统
环境变量和
用户
环境变量.
环境变量分为
系统
环境变量和
用户
环境变量.你所说的环境变量是指
系统
环境变量,对所有
用户
起作用,而
用户
环境变 量只对当前
用户
起作用。 例如你要用java,那么你把java的bin目录加入到
path
变量下面,那么它就是
系统
环境变量,所用
用户
登陆, 在命令行输入java都会有java的帮助信息出来。而如果你在某个
用户
的变量下面新建一个变量,那么它就只对这个
用户
有用,当你以其他
Java SE
62,635
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章