Java tutorial
//package com.java2s; /* * This file is part of OpenVPN-Settings. * * Copyright 2009-2012 Friedrich Schuffelhut * * OpenVPN-Settings 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. * * OpenVPN-Settings 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 OpenVPN-Settings. If not, see <http://www.gnu.org/licenses/>. * * Report bugs or new features at: http://code.google.com/p/android-openvpn-settings/ * Contact the author at: android.openvpn@schaeuffelhut.de */ public class Main { /** * Prepare and sanitize a string to be used as parameter for a command * @param s * @return A string safe to use as parameter for a command */ public static String optionalShellEscape(String s) { if (s.matches("[a-zA-Z0-9/._-]+")) return s; return shellEscape(s); } /** * Prepare and sanitize a string to be used as parameter for a command * @param s * @return A string safe to use as parameter for a command */ public static String shellEscape(String s) { StringBuilder sb = new StringBuilder(s.length() + 200); sb.append("'"); sb.append(s.replace("'", "\\'").replace("\n", "\\\n")); sb.append("'"); return sb.toString(); } }