[size=medium]取得文件路径:
String filePath= xxx.class.getResource("/").getPath();
处理:
filePath=URLDecoder.decode(filePath);
完成.
按系统方式打开文件:
Runtime.getRuntime().exec("cmd /c start "+filePath);
=================================================================================
修改:
原用上面的方式按系统方式打开文件,结果出现空格问题,不好弄。最后想到Dos的8.3短文件名方式不会出现空格,,于是写了一个求短文件名的方法:
/**
* 8.3DOS短文件名规则
* @param srcFileName
* @return
*/
private static String get8Dot3Name(String srcFileName) {
StringBuffer sb;
srcFileName = srcFileName.toUpperCase();
if (srcFileName.getBytes().length > 8
|| ((srcFileName.getBytes().length < 8) && srcFileName
.indexOf(" ") >= 0)) {
srcFileName = srcFileName.replaceAll(" ", "");
sb = new StringBuffer(srcFileName);
while (sb.indexOf(".") != sb.lastIndexOf(".")) {
sb.setCharAt(sb.indexOf("."), ' ');
}
srcFileName = sb.toString().replaceAll("[ $<>;,=\"\\[\\]]", "");
if (srcFileName.lastIndexOf('.') == srcFileName.length() - 1) {
srcFileName = srcFileName
.substring(0, srcFileName.length() - 1);
}
String name = null;
String type = null;
if (srcFileName.lastIndexOf(".") > -1) {
name = srcFileName.substring(0, srcFileName.indexOf("."));
type = srcFileName.substring(srcFileName.indexOf("."));
if (name.getBytes().length > 8) {
name = cut6Char(name);
}
if (type.getBytes().length > 4) {
type = type.substring(0, 4);
}
} else {
if (srcFileName.getBytes().length > 8) {
name = cut6Char(srcFileName);
} else {
name = srcFileName;
}
}
name += "~1";
if (type != null) {
name += type;
}
return srcFileName = name;
}
return srcFileName;
}
private static String cut6Char(String name) {
byte[] bt = new byte[6];
byte nameBytes[] = name.getBytes();
for (int i = 0; i < 6; i++) {
bt[i] = nameBytes[i];
}
name = new String(bt);
return name;
}
/**
* 取得短文件名
*/
public static String getShortName(String filePath) {
filePath=filePath.replaceAll("\\\\", "/");
String[] str = filePath.split("/");
for (int i = 0; i < str.length; i++) {
str[i] = get8Dot3Name(str[i]);
}
StringBuffer sbf = new StringBuffer();
for (int i = 0; i < str.length; i++) {
sbf.append(str[i] );
if(i!=str.length-1){
sbf.append("\\");
}
}
return sbf.toString();
}
好。。。到这里先试了一把。。。——!结果出人意料。。。有的可以打开有的打不开。。。
原来我这个方法是只针对一个路径来做的。。也就是说相同目录下有多个文件可以得到这个路径,
于是上网又找,终于找到了。。
[color=violet]1.如何执行非系统注册的命令比如Windows的dir
请使用命令 "cmd /c dir"
其他情况类似
2.如何打开带空格的外部文件或文件夹
最基本的打开外部文件的方式 "cmd /c start 文件",若文件名有空格,则会出现错误,请使用以下方式解决
String[] cmd = new String[5];
cmd[0] = "cmd";
cmd[1] = "/c";
cmd[2] = "start";
cmd[3] = " ";
cmd[4] = filePath;
Process process = Runtime.getRuntime().exec(cmd);
或;
Process process = Runtime.getRuntime().exec("cmd /c start \"\" \"E:\\kk sd\\www.txt\"");
因为按找文档说明 start 命令之后首先是[title],再是[filepath],所以将title设置为 " "
3.调用外部程序来打开一个相应的文件
比如我们要使用Editplus来打开一个远程机器上的文件,可以这样
Runtime.getRuntime().exec("D:\\EditPlus 2\\EditPlus.exe"+" "+\\\\172.16.1.6\\server1\\SystemErr.log)即
Runtime.getRuntime().exec("外部程序位置"+" "+"要打开的文件").
以此方式可以忽略空格的问题
4.截取控制台的信息.
使用JAVA输入流的方式.
Runtime.getRuntime().exec(..)获取的Process;
Process pro = Runtime.getRuntime().exec(..);
InputStreamReader isr = new InputStreamReader (pro.getInputStream());
//todo 使用输入流进行操作就可以了.[/color]
另外JDK6也提供了一种方式
Desktop dsk=DeskTop.getDesktop();
dsk.open(new File(filePath));
[/size]
分享到:
相关推荐
背景 在IE8下通过a标签的href="本地路径"可以打开,但是chrome以及firefox不可以。 原因:在IE中输入file:///c:...最后在bat脚本里根据文件【cmdInput.txt】里面的路径直接使用shexec"open"命令打开文件或文件夹。
要包含上一示例中的任何系统或隐藏文件,请按如下所示添加 /h 命令行选项: xcopy a:b:/s /e /h 要使用 \Rawdata 目录中 1993 年 12 月 29 日后更改的文件更新 \Reports 目录中的文件,请键入: xcopy \rawdata ...
一款适用于 Windows 的工具,具有多种功能,包括高速删除文件和文件夹,可...或空格结尾的文件夹,能解决被其他程序打开的文件和文件夹无法删除的问题,还可删除映射文件、正在运行的程序以及正被使用的动态运行库。
其他处理方式:包括添加文件夹、重命名、恢复备份文件、查找个数、转换编码、重新排序。 26、添加文件夹,就是直接添加一个文件夹,说明添加文件或者添加文件夹的时候,如果已经存在则跳过添加。说明:添加文件夹的...
系统文件被破坏,很有可能将导致电脑无法正常启动,该如何解决此问题呢?其中的方法就是恢复被破坏的系统文件。今天u大师就为大家讲解下如何修复系统文件? WindowsXP的系统文件被病毒或其它原因破坏了,可以从...
这是一个方便管理windows文件系统的辅助工具,能很轻松的实现windows文件夹图标的更改,jar包中只预置了30来种图标,不过在resource文件夹里面有我不辞辛劳制作的大量可用图标可以选用(千万注意该jar包所在的路径不...
这样系统会关联打开方式,文件的图标里就有一个打开方式的程序的小图标。 TBI 文件的特点 TBI 文件是一种图片文件格式,可以直接将后缀 .tbi 改成 .jpg,变成常见的图片显示方法打开。这种文件格式可以使用批处理...
在今天的文件中,我们讨论了一个常见的问题:文件夹隐藏属性无法修改怎么办?这个问题通常是由于系统文件被病毒或木马篡改导致的。在这种情况下,文件夹的隐藏属性将被置灰不能修改,从而导致文件夹无法访问。 解决...
Windows 系统发展了几十年,版本更新了数代,但系统中文件打开/保存对话框的操作方式却没有多少改善,即使在目前最新的 Windows 8.1 中,在该对话框中浏览文件的方式依然如此繁琐、低效,一直为大多数用户所诟病。...
第四,点击你打开的文件,按下Ctrl+T,你会发现自动显示了项目文件浏览器(Project File Browser)窗口,并跳转到当前文件所在的目录。 第五,你可以使用同样的方式调用宏Macro: ToExplorerFolder,它的作用是在资源...
Windows下实现空格预览文件的小工具,Win版Mac的空格预览。实现快捷浏览文件。可以快速查看文件夹大小,预览各种文档,图片。
使用方法:解压后,右键-编辑,打开.bat文件,然后编辑要创建的文件夹名字列表,保存、关闭即可。注意不要删除md字样。 友情提示:如果需要创建大量文件夹,可以用excel或记事本事先编辑好“md+空格+文件名”,一个...
在表格中的 A 列输入"md'(后面有个空格),在 B 列输入要创建的文件夹的路径,C 列输入文件夹的名称。用户可以手动输入人名或通过复制粘贴的方法来输入人名。 第二步,接着,在 D 列输入"=A1&B1&C1",然后拉单元格右...
在表格中的 A 列输入 "md "(后面有个空格),B 列输入要创建的文件夹的路径,C 列输入文件夹的名称,这里可以通过手动或者复制粘贴来输入人名。例如,如果您想要创建一个名为 "John" 的文件夹,在 C 列中输入 "John...
在标记处理窗口保存勾选标记后请不要改动该文件夹的位置、文件夹里的文件,不然下次读取的时候会出现错误设置里的按键模式,直接用鼠标点击文本框,然后用键盘按下按键即可设置成功,代码模式需要查看代码(图片)...
本程序与文件上传配合使用,主要功能是监视"路径一"所指的文件夹如发现用户有上传的文件,则将其转移到"路径二"文件夹下,并转换为swf格式。swf格式文件将被放在"路径三"文件夹下。(路径名不可有空格) 注意: 一、...
既然软件能直接打开,说明软件访问的是源文件不是绿盾的快捷文件,通过程序直接利用系统底层拷贝将源文件拷贝至新文件夹,我们就可以看到未加密的文件了。 注意事项: 1. 如果是路径包含空格,可以将路径用英文双...
17. 文件夹图标:在Windows的"资源管理器"左部窗口中,若显示的文件夹图标前带有加号(+),意味着该文件夹含有下级文件夹。 八、文件命名 18. 文件扩展名:在Windows中,文件名READ.ME.NEXT.TXT的扩展名是TXT。 ...
在后面如果接的是文件或文件夹,会以默认程序打开,当然你若希望带参数运行或使用自己的程序打开文件,还是可以在文件路径前加上相应的程序路径和参数。 例如,在最后一行命令中,EXPLORER.EXE 是指定的打开程序,...
在第一次安装后,需要去到系统服务那边手动打开运行服务。以后只要服务器重启,服务就会自动启动,就算管理员没登录都会自动运行。 服务启动后会监视配置的路径,当监视的路径下有ZIP文件产生的时候(FTP上传、复制、...