将音频,mp3文件转换为字符串,反之亦然

时间:2011-09-02 10:13:51

标签: java audio mp3

是否可以将音频mp3文件转换为字符串文件,或者读取mp3文件并写入文本文件,反之亦然?

如果可能的话怎么样?此外,文本文件大小是否大于或等于原始mp3或音频文件?

2 个答案:

答案 0 :(得分:2)

文件是字节,当然可以解释为给定编码中的字符。

我建议在这里使用Base64编码。在这种情况下,输出文件将大33%。

答案 1 :(得分:2)

一个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();
    }
}