У меня есть исходный код программы C# для преобразования файлов. Мне нужно написать Java-приложение с той же функциональностью. Но у меня проблемы с (InputStream.Position). Например:

//Open Files
                FileStream input = new FileStream(ltcFile, FileMode.Open);
                FileStream output = new FileStream(txtFile, FileMode.Create);

                //Skip LTC Header
                const int LTC_HEADER_LENGTH = 8;
                input.Position = input.Position + LTC_HEADER_LENGTH;

                //Write Unicode Text Header
                output.WriteByte(0xEF);
                output.WriteByte(0xBB);
                output.WriteByte(0xBF);

                //Get Data Size
                int b, dataSize;
                dataSize = 0;

                for (int i = 0; i < 4; i++)
                {
                    b = input.ReadByte();
                    dataSize = dataSize + b * (int)System.Math.Pow(256, i);
                }

                //Set ID Table Position
                long idPos = dataSize + LTC_HEADER_LENGTH + 4;

                //Skip Unknown Data
                input.Position = input.Position + 4;

Какой эквивалент в Java может достичь этого (mark(), skip())?:

//Skip Unknown Data
                input.Position = input.Position + 4;
0
De-Bill 27 Ноя 2022 в 08:34

1 ответ

InputStream.skip(long n), вероятно, то, что вы ищете, согласно JavaDoc пропускает следующие n байтов потока.

2
ocean moat 27 Ноя 2022 в 08:47