我想对某个已经存在的文件进行操作,比如希望运行某exe文件,如何操作呢?
找不到此文件的绝对路径;
考虑到文件的可移植性,希望能够在本地系统中返回文件的绝对路径,我试了
String filePath=file.getAbsolutePath();
但是此命令输出的是当前运行文件的路径,而不能输出指定文件的路径。
我是新手,请大家指教!小女不胜感激!
找不到此文件的绝对路径;
考虑到文件的可移植性,希望能够在本地系统中返回文件的绝对路径,我试了
String filePath=file.getAbsolutePath();
但是此命令输出的是当前运行文件的路径,而不能输出指定文件的路径。
我是新手,请大家指教!小女不胜感激!
解决方案 »
- 启动一个指定路径的记事本程序
- JAVA还没学完 要求做课设,高手帮帮忙
- 这是本人做的简单的线程池的代码?请各位高手看看原理有没错。
- 关于jsp连接oracle8i的问题,我按下面的测试不成功,找不到驱动,是不是要再按装驱动程序呢?
- 使用fileupload上传文件总是出现失败!!!求解答
- cvs在那里下载,主页是什么?怎么使用?
- 没有main函数的程序怎么用JDK执行?
- 菜鸟问题!
- 怎样查看一个控件包含哪些方法和属性!谢谢!
- 一个数据结构有关的难题,爱好者高手请进!
- 请问,我在netbeans 5.51开发环境中,利用jTable组件构建了一个表格,是4列的,数据库是sql server2000,里面创建一个数据库名字是wenxian,然后
- 智能解析坏了,大家帮我测试下网站能访问不能?
1 你要运行某个文件
2 可是你不知道那个文件在哪?
3 我们该怎么做?是这样吗?我一般是搜索整个计算机硬盘,找到文件名相同的,逐个看。程序也是这样的啊。
考虑到文件的可移植性,希望能够在本地系统中返回文件的绝对路径????那就更应该用相对路径了,否则在windows下面是不支持 "/1234/5678/9.gif" 的
但是如果程序在别人的电脑上运行,就需要知道此电脑的QQ的路径吧。我该如何处理这个问题呢?
或者说不用知道路径?还有别的方式可以实现吗?相对路径怎么实现呢?能不能请高手贴一些代码,学习一下!感谢ing!
2 查找注册表,比如QQ,他会放好多垃圾到注册表的
3 到程序的默认目录,多数用户不会改目录,顶多c: 改成 d:
4 所有硬盘搜吧。呵呵!你想啊,人都不知道他在哪里,程序就更不知道了。 还不是挨个打开看看!
感谢
老紫竹
1 我通过访问环境变量的方式进行解决了!用了System.getenv()方法。
刚好我的工程软件在环境变量中存在变量。
我查了一下,在注册表中没有找到软件的信息,肯定是有的,但是我愚钝,没找着,请大家指教方法!2 但是如果有的执行文件在环境变量中不存在变量,那肯定需要像
tanlingyun
讲的那样操作注册表了吧!
不会操作,还请大家指教,等待tanlingyun的代码ing···
3 分析老紫竹的第三种方法,觉得很难实现,没有头绪,大海捞针似的,如果有代码,希望可以指教!
下载完后解压,在bin那个目录里有ICE_JNIRegistry.dll和registry.jar,这就是我们想要的,然后把registry.jar抽取出来,可以用jar命令也可以直接用WinRAR解压,解压出来是com.ice.jni.registry包。
下面建一个文件夹registry(主要是为了把这些东西放在一起好管理),把刚才解压出来的com文件夹和ICE_JNIRegistry.dll放在里面,然后新建一java文件,我这里叫RegeditTest,源代码如下:import com.ice.jni.registry.*;public class RegeditTest
{
public static void main(String[] str)
{
try
{
RegistryKey child = Registry.HKEY_LOCAL_MACHINE.openSubKey("SOFTWARE\\Tencent\\QQ");
String subKeyValue = child.getStringValue("install");
Runtime.getRuntime().exec(subKeyValue+"qq.exe");
System.out.println(subKeyValue);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}编译运行就可以得到QQ路径并启动了。你可以按照这个思路,把它加到你自己的代码中!!还有就是用到的这些类比如RegistryKey是有源代码的,它里面有很多方法,不光可以读取注册表,还可以写入注册表,不过没有帮助文档,得看源代码才知道这些方法。哦,忘了,要是注册表有中文字符的话读出来是乱码、写进去也是,这个我找了好多,还是没解决,换了几种编码也不行,抱歉!!!我的叙述有点混乱,你不懂再跟贴吧。