Visualizzazione dei risultati da 1 a 10 su 39

Hybrid View

  1. #1
    Se però chiedi consigli e non vuoi seguirli....
    Ti avevo già scritto come fare a testare se un file è già aperto oppure no, cioè utilizzando un FileChannel e tentando di acquisire il look, che tra l'altro è una cosa abbastanza banale da fare:
    codice:
    File file =newFile(fileName);
    FileChannel channel =newRandomAccessFile(file,"rw").getChannel();
    // Get an exclusive lock on the whole file
    FileLock lock = channel.lock();
    try{
        lock = channel.tryLock();
        // SE ARRIVO QUI VUOL DIRE CHE IL FILE NON NESSUN LOCK (NON E' APERTO IN SCRITTURA)
    }catch(OverlappingFileLockException e){
        // SE INVECE ARRIVO QUI VUOL DIRE CHE VI E' UN LOCK SUL FILE
    }finally{
        lock.release();
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480
    Ho fatto così:
    codice:
                        if (f.exists()) {
    
                            String msg = MessageFormat.format("The entry ''{0}'' already exists.\nDo you want to replace it?", new Object[]{f});
                            int r = JOptionPane.showConfirmDialog(null, msg, "Confirm", JOptionPane.YES_NO_OPTION);
                            if (r == JOptionPane.NO_OPTION) {
                            } else {
                                
                                 File file = new File(f.getName());
                            FileChannel channel = new RandomAccessFile(file, "rw").getChannel();
                            // Get an exclusive lock on the whole file
                            FileLock lock = channel.lock();
                            try {
                                lock = channel.tryLock();
                           
                                System.out.println("NON E' APERTO IN SCRITTURA");
                            } catch (OverlappingFileLockException e) {
                               
                               System.out.println("E' APERTO ");
                            } finally {
                                lock.release();
                            }
                               
    
                            }
                        } else {
    
                            creaFilePdf.createPdf(tabellaMesi, tabellaTermocoppia, f, pathname, latitudine, longitudine, radiazioneAnnuale, inclinazioneOttimale, azimuth, menuCondizioni);
    
                        }
    In questo modo se il file non esiste me lo crea. Se invece il file esiste, sia che sia chiuso che aperto mi scrive il messaggio : "E' APERTO "

    Non capisco!

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.