конвертировать аудио, mp3 файл в строку и наоборот - PullRequest
2 голосов
/ 02 сентября 2011

Можно ли преобразовать аудиофайл mp3 в строковый файл или прочитать файл mp3 и записать в текстовый файл и наоборот?

Если возможно, то как? Кроме того, размер текстового файла будет больше или равен исходному mp3 или аудио файлу?

Ответы [ 2 ]

2 голосов
/ 02 сентября 2011

Подобный mp3-файл, все файлы - это просто двоичные данные, которые могут интерпретироваться по-разному в зависимости от того, что вы используете для просмотра этих данных.

Если вы спрашиваете, можете ли вы преобразовать аудиофайл в строку, то это неправильный вопрос, поскольку двоичные данные отображаются только в виде строки, если задана кодировка символов (вы можете открыть свой mp3-файл в блокноте и читай, если хочешь).

Однако, если вы спрашиваете, как вы можете читать из mp3-файла и записывать в другой файл, то это код для него.

public String readFile(String filename) {

    // variable representing a line of data in the mp3 file
    String line = "";

    try {
        br = new BufferedReader(new FileReader(new File(filename)));

        while (br.readLine() != null) {
          line+=br.readLine

        try {
            if (br == null) {

                // close reader when all data is read
                br.close();
            }

        } catch (FileNotFoundException e) {
            e.getMessage();
        } catch (IOException e) {
            e.printStackTrace();
        }

    } catch (FileNotFoundException e) {
        e.getMessage();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

Затем записать в другой файл, вызвав метод чтения файлов во втором файле.

public void outputData(String outputFile) {

            try {

        // Create file
        FileWriter fileStream = new FileWriter(outputFile);
        BufferedWriter writer = new BufferedWriter(fileStream);

        writer.write(readFile(THE MP3 FILE DIRECTORY));

        // Close writer
        writer.close();

        // Handle exceptions
    } catch (Exception e) {
        e.printStackTrace();
    }
}
2 голосов
/ 02 сентября 2011

Файлы - это байты, которые, конечно, можно интерпретировать как символы в заданной кодировке.

Я бы предложил использовать здесь кодировку Base64. В этом случае выходной файл будет на 33% больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...