ho scritto questa classe
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?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(); } }

Rispondi quotando
