当前位置:编程学习 > JAVA >>

用java“打开个文件夹并选中指定文件? 在线等……

要做一个即时聊天的东西,就是传输文件后点击文件名就要打开文件所在的目录并让该文件处于被选中状态 
比如D:/Adir/Bdir/c.txt,我就要打开D:/Adir/Bdir这个目录并让c.txt这个文件处于被选中状态
网上看了看 有用windows的explorer /select来处理,
Runtime.getRuntime().exec("explorer /select, "+"D:/Adir/Bdir/c.txt");但是文件名遇到多个空格就不行了:
比如:D:/Ad    i  r/B d ir/c.txt这种类型就不可以了
求赐教! --------------------编程问答-------------------- 文件绝对路径参数前后加双引号就行了。 --------------------编程问答-------------------- 能具体点么?刚接触java不久,谢谢
引用 1 楼 dntg007 的回复:
文件绝对路径参数前后加双引号就行了。
--------------------编程问答-------------------- 试了下 不行啊,继续顶啊……
引用 1 楼 dntg007 的回复:
文件绝对路径参数前后加双引号就行了。
--------------------编程问答-------------------- 我是xp系统,不加引号都行
以前做过的也是有些命令行的执行,参数不能有空格,参数前后加上双引号就行了。
你可以现在命令行中试试
explorer /select, "XXXXXXXXXX"
看看好不好用 --------------------编程问答-------------------- 我是xp系统,不加引号都行
以前做过的也是有些命令行的执行,参数不能有空格,参数前后加上双引号就行了。
你可以现在命令行中试试
explorer /select, "XXXXXXXXXX"
看看好不好用 --------------------编程问答-------------------- 好像不行哟,可能我没有问清楚把,我意思是文件夹路径中含有多个连续空格;
比如:“D:/A  dir/B            dir/c.txt”(A和dir间有多个空格,B和间也有多个空格)
引用 5 楼 dntg007 的回复:
我是xp系统,不加引号都行
以前做过的也是有些命令行的执行,参数不能有空格,参数前后加上双引号就行了。
你可以现在命令行中试试
explorer /select, "XXXXXXXXXX"
看看好不好用
--------------------编程问答-------------------- explorer /select, "D:/A dir/B dir/c.txt"
--------------------编程问答-------------------- explorer /select, "D:/A dir/B dir/c.txt"
--------------------编程问答-------------------- explorer /select, "D:/A dir/B dir/c.txt"
--------------------编程问答-------------------- 我这里试这个不行-_-
引用 9 楼 dntg007 的回复:
explorer /select, "D:/A dir/B dir/c.txt"
--------------------编程问答-------------------- 才注意,我一直用得是反斜杠,你的是正斜杠
你缓过来试试
explorer /select, "D:\A dir\B dir\c.txt"
--------------------编程问答-------------------- 我这里,貌似,没有空格的路径,正斜杠也不好用。你那里好用? --------------------编程问答-------------------- 我这里,貌似,没有空格的路径,正斜杠也不好用。你那里好用? --------------------编程问答-------------------- explorer /select, "D:\A多个空格dir\B多个空格dir\c.txt"
同样不行,转义也不行 explorer /select, "D:\\A多个空格dir\\B多个空格dir\\c.txt" 

引用 11 楼 dntg007 的回复:
才注意,我一直用得是反斜杠,你的是正斜杠
你缓过来试试
explorer /select, "D:\A dir\B dir\c.txt"
--------------------编程问答-------------------- 我这里,貌似,没有空格的路径,正斜杠也不好用。你那里好用? --------------------编程问答-------------------- explorer /select, "D:\A多个空格dir\B多个空格dir\c.txt"
同样不行,转义也不行 explorer /select, "D:\\A多个空格dir\\B多个空格dir\\c.txt" 

引用 11 楼 dntg007 的回复:
才注意,我一直用得是反斜杠,你的是正斜杠
你缓过来试试
explorer /select, "D:\A dir\B dir\c.txt"
--------------------编程问答-------------------- 我这里,貌似,没有空格的路径,正斜杠也不好用。你那里好用? --------------------编程问答-------------------- 我这里,貌似,没有空格的路径,正斜杠也不好用。你那里好用? --------------------编程问答-------------------- explorer /select, "D:\A多个空格dir\B多个空格dir\c.txt"
同样不行,转义也不行 explorer /select, "D:\\A多个空格dir\\B多个空格dir\\c.txt" 
Quote=引用 11 楼 dntg007 的回复:]
才注意,我一直用得是反斜杠,你的是正斜杠
你缓过来试试
explorer /select, "D:\A dir\B dir\c.txt"
[/Quote] --------------------编程问答-------------------- 那我没办法了,你的电脑是什么系统? --------------------编程问答-------------------- win7 郁闷啊 用awt的可以打开这种目录 但不能让那个文件处于被选中状态  有没有什么方法 让目录中某个文件处于被选中状态呢?
引用 20 楼 dntg007 的回复:
那我没办法了,你的电脑是什么系统?
--------------------编程问答-------------------- 我记得好像空格能用%加点东西替换使用,不知道是什么了。可以研究一下 --------------------编程问答-------------------- 刚才在win7上试了下,可以做成一个bat。里面两个命令
cd D:\A dir\B dir
explorer /select, c.txt
然后java调用这个bat文件就行了。
--------------------编程问答-------------------- 刚才在win7上试了下,可以做成一个bat。里面两个命令
cd D:\A dir\B dir
explorer /select, c.txt
然后java调用这个bat文件就行了。
--------------------编程问答-------------------- 不知道难点在哪 --------------------编程问答-------------------- bat里面符号要求太多 很多要转义  遇到多的转义的基本没法了
引用 24 楼 dntg007 的回复:
刚才在win7上试了下,可以做成一个bat。里面两个命令
cd D:\A dir\B dir
explorer /select, c.txt
然后java调用这个bat文件就行了。
--------------------编程问答-------------------- 这么说吧,目的是在java中打开某个文件夹并让指定文件处于被选中状态,我的难点就是当这个文件夹名字包含多个连续空格,java就好像识别不了(当然是我知道的方法哈),比如对于
 D:/A连续空格AA/B连续空格BB/t.txt,    我就是要用windows风格打开  D:/A连续空格AA/B连续空格BB/  这个目录,然后要t.txt处于被选中状态 
   求方法……
引用 25 楼 chen870201 的回复:
不知道难点在哪
--------------------编程问答-------------------- bat要转义什么?如果bat有需要转义的你直接使用explorer命令也一样需要转义啊。他们是一个系统的啊。 --------------------编程问答-------------------- bat要转义什么?如果bat有需要转义的你直接使用explorer命令也一样需要转义啊。他们是一个系统的啊。 --------------------编程问答--------------------
引用 19 楼 loveyss86 的回复:
explorer /select, "D:\A多个空格dir\B多个空格dir\c.txt"
同样不行,转义也不行 explorer /select, "D:\\A多个空格dir\\B多个空格dir\\c.txt" 
Quote=引用 11 楼 dntg007 的回复:]
才注意,我一直用得是反斜杠,你的是正斜杠
你缓过来试试
explorer /select, "D:\A dir\B ……


斜杠的问题你可以用File类中的separator :是与系统相关的路径分隔符字符。可以自动识别那个系统应该有个什么样的斜杠,不会出现这类问题了! --------------------编程问答-------------------- 你是如何获得打开问价后选中的文件的名称?
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,