public class Test {
/**
* @param args
*/
public static void main(String[] args)
{
//文件或文件夹路径
String targetDirectFileName = "D:\\2013-03-19\\eclipse\\notice.html";
openFiles(targetDirectFileName);
}
/**
* 1.选中文件或文件夹
* @param targetDirectFileName
*/
private void selectFiles(String targetDirectFileName)
{
if (null == targetDirectFileName || "".equals(targetDirectFileName))
{
JOptionPane.showMessageDialog(this, "请先选中一个文件!", "提示信息", 2);
return;
}
File file = new File(targetDirectFileName);
if(!file.exists())
{
JOptionPane.showMessageDialog(this, "该文件不存在!", "提示信息", 2);
return;
}
try
{
//选中文件或文件夹
String strs = "explorer.exe /select,"+targetDirectFileName;
//Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL explorer.exe /select," +
targetDirectFileName);
Runtime.getRuntime().exec(strs);
}
catch (IOException e)
{
JOptionPane.showMessageDialog(this, "出错了!", "提示信息", 2);
}
}
/**
* 打开文件或文件夹
* @param filePath
*/
private void openFiles(String targetDirectFileName)
{
if (null == targetDirectFileName || "".equals(targetDirectFileName))
{
JOptionPane.showMessageDialog(this, "请先选中一个文件!", "提示信息", 2);
return;
}
File file = new File(targetDirectFileName);
if(!file.exists())
{
JOptionPane.showMessageDialog(this, "该文件不存在!", "提示信息", 2);
return;
}
String osName = System.getProperty("os.name");
String[] strs = new String[2];
//window系统
if (osName.toLowerCase().startsWith("windows"))
{
strs[0] = "explorer";
targetDirectFileName = targetDirectFileName.replace("/", "\\");
}
else
{
strs[0] = "netscape";
}
strs[1] = targetDirectFileName;
try {
Runtime.getRuntime().exec(strs);
} catch (IOException e) {
JOptionPane.showMessageDialog(this, "出错了!", "提示信息", 2);
}
}
/**
* 打开网址
*/
private void openUrl(String urlStr) {
Properties properties = System.getProperties();
String osName = properties.getProperty("os.name");
// System.out.println(osName);
try {
if (osName.indexOf("Linux") != -1) {
Runtime.getRuntime().exec(urlStr);
} else if (osName.indexOf("Windows") != -1) {
Runtime.getRuntime().exec("explorer " + urlStr);
} else {
throw new RuntimeException("Unknown OS.");
}
} catch (IOException e) {
e.printStackTrace();
}
}