ho scritto questa classe
codice:
import java.io.*;

import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.xml.transform.*; 
import javax.xml.transform.stream.*; 

public class CreateTable {
	private StreamSource xmlInput, xslSheet;
	private StreamResult htmlResult;
	private BufferedWriter xmlTrans;
	private BufferedReader xmlMeta, xmlD;
	
	CreateTable() throws Throwable {
		JFileChooser chooser = new JFileChooser();	
							
		chooser.setDialogTitle("Open Data File");
		chooser.setApproveButtonText("Open Data File");
		chooser.addChoosableFileFilter (new FileNameExtensionFilter ("File XML", "xml"));
		int returnD = chooser.showOpenDialog(null);	
		if (returnD == JFileChooser.APPROVE_OPTION) {
			File data = chooser.getSelectedFile();
			xmlD = new BufferedReader(new FileReader(data));
		}
		
		
		chooser.setDialogTitle("Open Metadata File");
		chooser.setApproveButtonText("Open Metadata File");
		chooser.addChoosableFileFilter (new FileNameExtensionFilter ("File XML", "xml"));
		int returnMD = chooser.showOpenDialog(null);
		if (returnMD == JFileChooser.APPROVE_OPTION) {
			File meta = chooser.getSelectedFile();
			xmlMeta = new BufferedReader(new FileReader(meta));
		}

		chooser.setDialogTitle("Save XML File for Table");
		chooser.setApproveButtonText("Save");
		chooser.addChoosableFileFilter (new FileNameExtensionFilter ("File XML", "xml"));
		int returnMid = chooser.showSaveDialog(null);
		if (returnMid == JFileChooser.APPROVE_OPTION) {
			try{
			File mid = chooser.getSelectedFile();
			mid.createNewFile();						
			xmlTrans = new BufferedWriter(new FileWriter(mid));	
			xmlInput = new StreamSource(new FileReader(mid));
			mid.deleteOnExit();
			}catch ( IOException e ){e.printStackTrace();}
		} 
		
		chooser.setDialogTitle("Open Xsl Table Stylesheet");
		chooser.setApproveButtonText("Open Xsl Stylesheet");
		chooser.addChoosableFileFilter (new FileNameExtensionFilter ("File XSL", "xsl"));
		int returnS = chooser.showOpenDialog(null);	
		if (returnS == JFileChooser.APPROVE_OPTION) {
			try{
			File xsl = chooser.getSelectedFile();
			xslSheet = new StreamSource(new FileReader(xsl));
			}catch ( IOException e ){e.printStackTrace();}
		}

		chooser.setDialogTitle("Save HTML Table Page");
		chooser.setApproveButtonText("Save Table");
		chooser.addChoosableFileFilter (new FileNameExtensionFilter ("File HTML", "html"));
		int returnT = chooser.showSaveDialog(null);
		if (returnT == JFileChooser.APPROVE_OPTION) {
			try{
			File table = chooser.getSelectedFile();
			table.createNewFile();					
			htmlResult = new StreamResult(new FileWriter(table));	
			}catch ( IOException e ){e.printStackTrace();}
		} 
	}
	
	void createInput() throws Throwable{
		String dataLine = "";
		String metaLine = "";
		String pref = "<?";
		String suff = "\"?>";
		
		while((metaLine = xmlMeta.readLine()) != null) {		
			if (metaLine.endsWith(suff)){				
				xmlTrans.write(metaLine);		
				xmlTrans.write("<css>");
			}else{
				xmlTrans.write(metaLine);
			}
		}
		
		 while((dataLine = xmlD.readLine()) != null)  {	
			 if ((dataLine.startsWith(pref)) != true) {		
			 	xmlTrans.write(dataLine);	
			 }			
		 }
		 xmlTrans.write("</css>");								
		 xmlMeta.close();
		 xmlD.close();
		 xmlTrans.flush();
		 xmlTrans.close();
	}
	
	
	void transform() throws Throwable{
		
			TransformerFactory transFactory = TransformerFactory.newInstance();
			Transformer transformer = transFactory.newTransformer(xslSheet);
			transformer.transform(xmlInput, htmlResult);
		} 
	public static void main(String[] args) throws Throwable{	
		
		CreateTable fileHTML = new CreateTable();
		fileHTML.createInput();
		fileHTML.transform();
	}
}
come potete vedere il file "mid" viene eliminato alla fine dell'esecuzione. vorrei però che anche la creazione fosse automatica e che non debba crearlo io perchè tanto non mi serve salvarlo...come potrei fare?