Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/**
 * Copyright 2000-2006 DFKI GmbH.
 * All Rights Reserved.  Use is subject to license terms.
 * <p/>
 * This file is part of MARY TTS.
 * <p/>
 * MARY TTS is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, version 3 of the License.
 * <p/>
 * 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 Lesser General Public License for more details.
 * <p/>
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

public class Main {
    public static boolean isWindows() {
        String osName = System.getProperty("os.name");
        osName = osName.toLowerCase();
        return osName.indexOf("windows") != -1;
    }

    /**
     * Check if bytes contains a subsequence identical with pattern,
     * and return the index position.
     * Assumes that pattern.length ^&lt; bytes.length.
     *
     * @param bytes
     * @param pattern
     * @return the index position in bytes where pattern starts, or -1 if bytes
     * does not contain pattern.
     */
    public static int indexOf(byte[] bytes, byte[] pattern) {
        if (bytes == null || pattern == null || bytes.length < pattern.length || pattern.length == 0) {
            return -1;
        }
        int j = 0; // index in pattern
        int start = -1;
        for (int i = 0; i < bytes.length; i++) {
            if (bytes[i] == pattern[j]) {
                if (j == 0)
                    start = i;
                j++;
                if (j == pattern.length)
                    return start; // found it!
            } else {
                j = 0;
                start = -1;
            }
        }
        return -1;
    }
}