ho dato un'occhiata al componente che mi hai indicato. Sembra fare al caso mio, ma onestamente non saprei da dove iniziare a mettere mani.
questo è il mio codice
codice:
import java.io.*;


class instanceCreator {
	private BufferedReader inRdf, outRead, newRead;				
	private BufferedWriter outRdf, finalRdf;
	
	instanceCreator (String inFile, String outFile, String newFile){
		
	    try {
	      inRdf = new BufferedReader(new FileReader(inFile));
	      outRead = new BufferedReader(new FileReader(outFile));
	      outRdf = new BufferedWriter(new FileWriter(newFile));
	      newRead = new BufferedReader(new FileReader(newFile));
	      finalRdf = new BufferedWriter(new FileWriter(newFile));
	      } catch(IOException e) {e.printStackTrace();}
	  }	
	
	//Metodo complete
	void complete() {
		
		try{
			String inputLine = inRdf.readLine();
			
			int beginInd = 0;
			int apartInd = inputLine.indexOf("@");
			int vdoInd = apartInd+1; 
			
			String ns = inputLine.substring(beginInd, apartInd);
			String vdo = inputLine.substring(vdoInd); 
			
			outRdf.write(ns);
			String pref = "<vdoext:h";
			String protoLine;
			while ((protoLine = outRead.readLine()) != null){
				if (protoLine.startsWith(pref)) {
				    String end = "\"/";
					String link = "link";
					String virg = "\"";
					int bInd = 35;
	    			int eInd = (protoLine.indexOf(end));
	    			link = protoLine.substring(bInd, eInd);
	    			outRdf.newLine();
	    			outRdf.write(protoLine);
	    			vdo = vdo.replaceFirst(virg,link);
				}else{ 
			outRdf.newLine();
			outRdf.write(protoLine);
			} }
			
			outRdf.newLine();
			CharSequence csq = vdo;
			outRdf.append(csq);
			
			inRdf.close();
			outRead.close();

			outRdf.flush();
			outRdf.close();
				} catch(IOException e) {e.printStackTrace();}
	 }	
}

class testInstance {
	public static void main(String[] args) {
	    if(args.length != 3) {
	      System.out.println("Please enter <inFile>, <outFile>, <newFile>");
	      System.exit(1);
	    }
	    
	    instanceCreator fileRDF = new instanceCreator(args[0],args[1],args[2]);
	    fileRDF.complete();
	}	  
}
dove devo inserire i costruttori del metodo?
o eventualmente se c'è una soluzione più "alla mia portata"...