Here you can find the source of openFile(String filePath)
public static boolean openFile(String filePath)
//package com.java2s; /*/*w w w . ja v a 2 s . c o m*/ * This file is part of Giswater * Copyright (C) 2013 Tecnics Associats * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * Author: * David Erill <derill@giswater.org> */ import java.awt.Component; import java.awt.Desktop; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; import java.util.ResourceBundle; import java.util.logging.Logger; import javax.swing.JOptionPane; public class Main { private static final int NUM_LEVELS = 10; private static Logger logger; private static ResourceBundle bundleText; public static boolean openFile(String filePath) { File exec = new File(filePath); if (exec.exists()) { try { Desktop.getDesktop().open(exec); } catch (IOException e) { logError(e); return false; } } else { showMessage("file_not_found", filePath); return false; } return true; } public static void logError(String msg) { logError(msg, ""); } public static void logError(Exception e) { logError(e, ""); } public static void logError(String msg, String param) { if (logger != null) { String errorMsg = getBundleString(msg); if (!param.equals("")) { errorMsg += "\nParameter: " + param; } logger.warning(errorMsg); } } public static void logError(Exception e, String param) { if (logger != null) { StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw, true); e.printStackTrace(pw); pw.flush(); sw.flush(); String fullStack = sw.toString(); String[] lines = fullStack.split(System.getProperty("line.separator")); String shortStack = ""; for (int i = 0; i < NUM_LEVELS; i++) { shortStack += lines[i] + "\n"; } shortStack += "Parameter: " + param; logger.warning(shortStack); } } public static void showMessage(String msg) { showMessage(msg, ""); } public static void showMessage(String msg, String param) { showMessage(null, msg, ""); } public static void showMessage(Component comp, String msg) { showMessage(comp, msg, ""); } public static void showMessage(Component comp, String msg, String param) { String userMsg = getBundleString(msg); if (!param.equals("")) { userMsg += "\n" + param; } if (logger != null) { String infoMsg = getBundleString(msg); if (!param.equals("")) { infoMsg += "\nParameter: " + param; } logger.info(infoMsg); } JOptionPane.showMessageDialog(comp, userMsg, getBundleString("inp_descr"), JOptionPane.INFORMATION_MESSAGE); } public static String getBundleString(String key) { return getBundleString(bundleText, key); } public static String getBundleString(ResourceBundle bundle, String key) { try { return bundle.getString(key); } catch (Exception e) { return key; } } }