I don’t know exactly how to do this, but I’ve done some programming (but not java) and I think I can get you started…
Programming isn’t that easy, and you need to know some basics before you jump-in and start trying to read/write ID3 tags. The real basics of programming are variables, loops, and branching (“if” statements). Of course, you’ll have to know some file I/O too. Do you have Java book? Once you learn those basic concepts, you can start to understand how programs “work”, and you should have an idea of how your program is going to work. (i.e. You could make a flow chart or a [u]psudocode[/u] outline.).
Programming is like any other subject, that there are concepts and terminology to learn… The first class is usually the hardest. And programming is unlike any other subject. Some people never really “get it”, and some people (most people?) just don’t like it!
It’s probably not that hard to write a “simple” tagging program, but It’s going to take some time and I’d guess it’s the kind of project you’d typically do at the end of your 2nd semester of programming. But, if you’re interested & motivated you could probably do it during your 1st semester.
If you wanted to write a “good” tagging program that handles all of the ID3 variations, and all of the popular audio formats (MP3, AAC, OGG, FLAC, etc.) and one that handles unicode (foreign characters), and a program that doesn’t crash when someone enters invalid information… That’s a bigger project.
First, you need to know how to open & read a file. Since the audio files are relatively large, it would be helpful if you can write a little program to scan-through the file and find the tag headers. (Actually, I don’t know if “header” is the correct term.) Once you can “find” the tags, it should be fairly easy to displays the information the tags.
After your program can read & display the tag information, you can work on editing & adding tags.
A [u]Hex Editor[/u] might be useful. If you are going to program, a hex editor is a useful tool. It allows you to look “inside” files in Hex format, and it also shows the ASCII (text) representation for any values that convert to text. The hex editor doesn’t know the context of the file data, so it shows the ASCII character, even if the value doesn’t actually represent text in the file… i.e. Every time is sees the value 41 hex (65 decimal), it shows an upper case ‘A’.
I’d start with [u]Wikipedia[/u] has some good information, although you’re not going to know what to do with the information 'till you learn a little about opening files with a program.
[u]MP3-converter.com[/u] has some fairly detailed information about MP3 files.
[u]ID3.org[/u] has tons of information.
[u]MP3 Tag Tools[/u] is an open source project, so you can study the code.
**P.S.**The biggest mistake most beginning programmers make is to write the whole program at once. They end-up with hundreds of errors, and when one error is fixed another error shows-up. The trick is to write, compile, and test a few lines at a time. For example, write empty “dummy” functions that simply display a message, like “I’m in Funtction 1” and return a valid dummy-value (if there is a return value). Then start adding real functionality to the function 'till it does everything it’s supposed to do. It’s always helpful to display variables and other informatinon about what the function is doing. Once your function/program is working properly you can comment-out all of this “debug” information.