Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [JAVA] come faccio a creare un file temporaneo?

    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?

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    createTempFile, come puoi leggere nella Javadoc
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.