как проверить контент System.in на то, является ли он zip архивом, или просто текст?

Есть такой код - BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String text = reader.readLine();

Мне надо проверить содержимое на то, является ли контент zip архивом?


Ответы (1 шт):

Автор решения: meshkovo1977

Решил так - создал массив байтов из двух присущих Zip, и сравнил первые два байта из полученной строки:

        `InputStream inputStream = System.in;
        byte[] pattern = fromHexString("50 4B");
        BufferedReader reader = new BufferedReader(new 
        InputStreamReader(inputStream));
        String text = reader.readLine();
        byte[] buffer = text.getBytes();
        if (buffer[0] == pattern[0] && buffer[1] == pattern[1]) {
        ... }`

Вот метод, который возвращает массив байтов из записанных с строку значений байтов:

   `public static byte[] fromHexString(String src) {
    byte[] biBytes = new BigInteger("10" + src.replaceAll("\\s", ""), 
    16).toByteArray();
    return Arrays.copyOfRange(biBytes, 1, biBytes.length);
    }`
→ Ссылка