Chinaunix

标题: 求救:怎样获得SysemRoot的值? [打印本页]

作者: user_ljh    时间: 2004-10-02 07:30
标题: 求救:怎样获得SysemRoot的值?
java高手:
请问一下
进入cmd窗口,输入set命令,会出现SystemRoot=C:\WINNT
那用程序
怎样获得SysemRoot的值?
谢谢!!!
作者: sakulagi    时间: 2004-10-02 08:38
标题: 求救:怎样获得SysemRoot的值?
我一般是写JNI函数来实现。
或者用Runtime.getRuntime().exec("set)
作者: sakulagi    时间: 2004-10-02 09:04
标题: 求救:怎样获得SysemRoot的值?
Process.getInputStream()
然后就可以读取程序执行的输出。
作者: sakulagi    时间: 2004-10-02 09:04
标题: 求救:怎样获得SysemRoot的值?
请在同一个帖子里讨论
作者: user_ljh    时间: 2004-10-02 10:10
标题: 求救:怎样获得SysemRoot的值?
谢谢仁兄:
我知道了
作者: user_ljh    时间: 2004-10-02 10:18
标题: 求救:怎样获得SysemRoot的值?
仁兄:
得到Process.getInputStream()后,
File的构造函数中无参数是InputStream
再麻烦你一下
我该怎么办?
谢谢!!!
作者: sakulagi    时间: 2004-10-02 10:44
标题: 求救:怎样获得SysemRoot的值?
为什么要用File啊?
作者: user_ljh    时间: 2004-10-02 14:07
标题: 求救:怎样获得SysemRoot的值?
仁兄:
我要操作odbc中的数据源,不用界面操作,
而是用jsp操作文件使odbc改变
所以要访问系统盘下winnt下的odbc。ini文件,
而有的机子的系统盘不一定是c盘,所以要找到SystemRoot

请问仁兄
你有好的建议吗?
谢谢!!!!
作者: sakulagi    时间: 2004-10-02 14:23
标题: 求救:怎样获得SysemRoot的值?
INputStream的作用是读取Runtime.exec()的输出,也就是set SystemRoot命令的输出。自然就是一个字符串了。然后就可以构造一个File对象了。
作者: user_ljh    时间: 2004-10-02 14:44
标题: 求救:怎样获得SysemRoot的值?
仁兄:

  小弟愚钝,望仁兄说的详细一点。

谢谢!!!!

我的想法是:

InputStream获得的是流,怎么得到它的String,
只有得到String 才可以和odbc。ini连起来。
作者: sakulagi    时间: 2004-10-03 12:33
标题: 求救:怎样获得SysemRoot的值?
这样说吧:

  1. Process p = Runtime.getRuntime.exec("set SystemRoot");
  2. LineNumberReader lnr = new LineNumberReader(new InputStreamReader(p.getInputStream()));
  3. String s = lnr.readLine();
复制代码

作者: jinijxta    时间: 2004-10-03 21:40
标题: 求救:怎样获得SysemRoot的值?
JDK1.5 Release Version
String systemRoot=System.getenv("SystemRoot";
edit java.policy
add
grant {
  permission java.lang.RuntimePermission "getenv.SystemRoot";
}




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2