2011-09-02 141 views
2

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

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

+0

你是指代表什么的字符串?文件的二进制内容还是对音频的一些理解?还有别的吗? –

+0

字节或任何东西代表,但输出与输入相同,而字符串创建音频或MP3文件创建时间 – Pratik

+0

你试图问的东西有点不清楚。你想知道你是否可以将音频文件转换为字符串或类似的东西? – deztructicus

回答

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

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

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

相关问题