package org.jaudiotagger.test;
import org.jaudiotagger.audio.mp3.MP3File;
import java.io.File;
/**
* Simple class that will attempt to recusively read all files within a directory, flags
* errors that occur.
*/
public class ExtractID3TagFromFile {
public static void main(final String[] args) {
ExtractID3TagFromFile test = new ExtractID3TagFromFile();
if (args.length != 2) {
System.err.println("usage ExtractID3TagFromFile Filename FilenameOut");
System.err.println(" You must enter the file to extract the tag from and where to extract to");
System.exit(1);
}
File file = new File(args[0]);
File outFile = new File(args[1]);
if (!file.isFile()) {
System.err.println("usage ExtractID3TagFromFile Filename FilenameOut");
System.err.println(" File " + args[0] + " could not be found");
System.exit(1);
}
try {
final MP3File tmpMP3 = new MP3File(file);
tmpMP3.extractID3v2TagDataIntoFile(outFile);
} catch (Exception e) {
System.err.println("Unable to extract tag");
System.exit(1);
}
}
final class MP3FileFilter extends javax.swing.filechooser.FileFilter implements java.io.FileFilter {
/**
* allows Directories
*/
private final boolean allowDirectories;
/**
* Create a default MP3FileFilter. The allowDirectories field will
* default to false.
*/
public MP3FileFilter() {
this(false);
}
/**
* Create an MP3FileFilter. If allowDirectories is true, then this filter
* will accept directories as well as mp3 files. If it is false then
* only mp3 files will be accepted.
*
* @param allowDirectories whether or not to accept directories
*/
private MP3FileFilter(final boolean allowDirectories) {
this.allowDirectories = allowDirectories;
}
/**
* Determines whether or not the file is an mp3 file. If the file is
* a directory, whether or not is accepted depends upon the
* allowDirectories flag passed to the constructor.
*
* @param file the file to test
* @return true if this file or directory should be accepted
*/
public final boolean accept(final File file) {
return (((file.getName()).toLowerCase().endsWith(".mp3")) || (file.isDirectory() && (this.allowDirectories)));
}
/**
* Returns the Name of the Filter for use in the Chooser Dialog
*
* @return The Description of the Filter
*/
public final String getDescription() {
return ".mp3 Files";
}
}
public static final String IDENT = "$Id: ExtractID3TagFromFile.java 836 2009-11-12 15:44:07Z paultaylor $";
}