Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr sbarca ufficialmente in Italia con tre modelli elettrici premium, X, 7X e 001, distribuiti da Jameel Motors su una rete di 52 punti vendita già attivi. La Zeekr X parte da 39.900 euro, la 7X da 54.100: piattaforma a 800V, chip Snapdragon di ultima generazione, ricarica ultraveloce e un'autonomia dichiarata fino a 615 km WLTP. Le prime consegne sono previste a metà aprile
Marathon: arriva il Fortnite hardcore
Marathon: arriva il Fortnite hardcore
Marathon è il titolo multiplayer competitivo del momento. Ecco quali sono le caratteristiche di gioco principali, insieme alle nostre prime considerazioni dopo qualche "run" nell'extraction shooter di Bungie
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
A New York HP ha messo al centro della scena HP IQ, la piattaforma di IA locale da 20 miliardi di parametri. L’abbiamo vista in funzione: è uno strumento che funziona, pensato per un target specifico, con vantaggi reali e limiti altrettanto evidenti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-05-2007, 10:42   #1
spv42
Member
 
Iscritto dal: Sep 2005
Messaggi: 274
[Java] File

Salve, non risco a fare il controllo su un file.

Cioè vorrei che un all'avvio di un applicazione, controlli la data di ultima modifica di un mio file (myfile.lastModified()) e se quella data è di Ieri, rinomini il file in NomeFile_DatadiIeri.ext

Grazie.

Il controllo Dtae.after o Date.before controlla anche i Millisecondi
spv42 è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 11:18   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da spv42 Guarda i messaggi
Salve, non risco a fare il controllo su un file.

Cioè vorrei che un all'avvio di un applicazione, controlli la data di ultima modifica di un mio file (myfile.lastModified()) e se quella data è di Ieri, rinomini il file in NomeFile_DatadiIeri.ext

Grazie.

Il controllo Dtae.after o Date.before controlla anche i Millisecondi
Si può fare sicuramente in diversi modi.
Da quello che hai detto capisco che vuoi testare se il file è stato modificato proprio ieri e non altri giorni. Si può fare così:
Codice:
long lastMod = f.lastModified ();

GregorianCalendar oggi = new GregorianCalendar ();
oggi.set (Calendar.HOUR_OF_DAY, 0);
oggi.set (Calendar.MINUTE, 0);
oggi.set (Calendar.SECOND, 0);
oggi.set (Calendar.MILLISECOND, 0);

GregorianCalendar ieri = (GregorianCalendar) oggi.clone ();
ieri.add (Calendar.DAY_OF_MONTH, -1);

if (lastMod >= ieri.getTimeInMillis () &&
    lastMod < oggi.getTimeInMillis ())
{
    /* Il file è esattamente di ieri */
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 11:21   #3
spv42
Member
 
Iscritto dal: Sep 2005
Messaggi: 274
Grazie.

spv42 è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2007, 11:23   #4
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Appiccico un esempio:

Codice:
import java.io.*;
import java.util.*;

public class Main {
	public static void main(String[] args) {
		/* piglia il file */
		File file = new File(args[0]);

		/* quando è stato modificato, in millisecondi */
		long time = file.lastModified();

		/* oggi... */
		Calendar fileTime = Calendar.getInstance();

		/* oggi diventa la data del file */
		fileTime.setTimeInMillis(time);

		/* Stampa sulla console giorno/mese/anno ora.minuto del file */
		System.console().printf("%d/%d/%d, %d.%d%n",
			fileTime.get(Calendar.DAY_OF_MONTH),
			fileTime.get(Calendar.MONTH) + 1,
			fileTime.get(Calendar.YEAR),
			fileTime.get(Calendar.HOUR_OF_DAY),
			fileTime.get(Calendar.MINUTE));

		/* oggi */
		Calendar today = Calendar.getInstance();

		/* se oggi è maggiore della data del file... */
		if(today.compareTo(fileTime) > 0) {

			/* quando uno è in vena di dire stupidaggini... :D */
			System.console().printf("CuccoFile!!!%n");

			/* crea l'infisso che andrà tra il nome del file e l'estensione */
			String infix =
				fileTime.get(Calendar.DAY_OF_MONTH) + "-" +
				(fileTime.get(Calendar.MONTH) + 1) + "-" +
				fileTime.get(Calendar.YEAR);

			/* piglia il nome del file */
			String fileName = file.getName();

			/* prende la posizione dell'ultimo punto (per separare l'estensione) */
			int dotOffset = fileName.lastIndexOf(".");

			/* se c'è un'estensione (o un nome prima dell'estensione) */
			if(dotOffset >= 0) {

				/* separa l'estensione... */
				String extension = fileName.substring(dotOffset, fileName.length());

				/* separa il nome senza estensione del file */
				String simpleName = fileName.substring(0, dotOffset);

				/* compone il nuovo nome */
				fileName = simpleName + "_" + infix + extension;
			} else {

				/* se non c'è estensione pospongo l'infisso al nome intero */
				fileName = fileName + infix;
			}
			System.console().printf("File <%s> renamed to <%s>%n", file, fileName);
		}
	}
}
Ps.: Mannera&Mannaja quanto odio HTTP...
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!

Ultima modifica di PGI-Bis : 07-05-2007 alle 11:25. Motivo: Risposta concorrente...
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2007, 08:44   #5
spv42
Member
 
Iscritto dal: Sep 2005
Messaggi: 274
Così è simile a come avevo fatto.

Il problema, però è che vengono confrontati anche i millisecondi.

Se creo un file ora ed un'altro dopo 100 millisecondi, in quel modo verrebbe rinominato.

Io invece vorrei che il file venga rinominato se e solo se la Data Assoluta (gg/mm/aa) sia inferiore alla data odierna (gg/mm/aa).

Grazie comunque per la risposta precedente.
spv42 è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2007, 09:03   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da spv42 Guarda i messaggi
Io invece vorrei che il file venga rinominato se e solo se la Data Assoluta (gg/mm/aa) sia inferiore alla data odierna (gg/mm/aa).
E allora fai così (mio codice sopra modificato):
Codice:
long lastMod = f.lastModified ();

GregorianCalendar oggi = new GregorianCalendar ();
oggi.set (Calendar.HOUR_OF_DAY, 0);
oggi.set (Calendar.MINUTE, 0);
oggi.set (Calendar.SECOND, 0);
oggi.set (Calendar.MILLISECOND, 0);

if (lastMod < oggi.getTimeInMillis ())
{
    /* Il file ha data inferiore rispetto ad oggi 00:00:00 */
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2007, 10:07   #7
spv42
Member
 
Iscritto dal: Sep 2005
Messaggi: 274
Ok, Grazie di nuovo.
spv42 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è PNY RTX 5080 Slim OC, sembra una Founders Editio...
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
NVIDIA App si aggiorna: arriva DLSS 4.5 ...
Claude Code: il codice sorgente esposto ...
Recensione POCO X8 Pro: è lui lo ...
Il primo dissipatore a liquido di Noctua...
Opera Neon abilita il protocollo MCP: l'...
Dyson Clean+Wash Hygiene: lava e pulisce...
NVIDIA investe 2 miliardi in Marvell: pa...
Le GPU come garanzia bancaria: CoreWeave...
KeeneticOS si aggiorna alla versione 5: ...
Regno Unito avvia indagine su Microsoft:...
Disney vuole comprare Epic Games e Fortn...
ASUS ROG Crosshair X870E Glacial: il nuo...
Samsung Galaxy Watch 9 si avvicina al la...
GTA 6: i costi di sviluppo sono impressi...
SSD Kioxia EXCERIA PRO G2 4TB, prestazio...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:18.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v