Se state costruendo un programma java che deve lanciare in background un eseguibile in Windows ecco il codice che potrebbe fare al caso vostro.

Per prima cosa dichiariamo le variabile all’interno del nostro codice

ProcessBuilder pbEseguibile = new ProcessBuilder();
Process pEseguibile = null;

Poi aggiungiamo il seguente codice per lanciare l’eseguibile in un processo

pbEseguibile.command( "c:\\test.exe" );
try {
    pEseguibile = pbEseguibile.start();
} catch (IOException ex) {
    Logger.getLogger(jtTest.class.getName()).log(Level.SEVERE, null, ex);
}

Se dobbiamo “uccidere” il processo basta che lanciamo il codice

if (pEseguibile != null) {
    pEseguibile.destroy();
}

 

Ecco il codice

package com.org.sascha.utility;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class loopHashMap {

 public static void main(String[] args) {

  //inizializzo la HashMap
  java.util.Map < Integer, String > map = new java.util.HashMap < > ();
  map.put(1, “Riga1”);
  map.put(2, “Riga2”);
  map.put(3, “Riga3”);

  for (Map.Entry < String, String > entry: map.entrySet()) {
   System.out.println(“Chiave: ”+entry.getKey() + ”Valore: ”+entry.getValue());
  }

 }

}

Ecco un esempio su come ottenere l’utlimo giorno del mese:

public static Date ottieniUltimoGiornoDelMese(Calendar cal) {
	cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
	cal.set(Calendar.HOUR, 23);
	cal.set(Calendar.MINUTE, 59);
	cal.set(Calendar.SECOND, 59);
	return cal.getTime();
}

Oppure una funzione che ho scritto pochi giorni fa:

public static int dataUltimoGiornoMese(int mese, int anno, boolean meseTogliUno) {
	Calendar cal = Calendar.getInstance();
	cal.set(anno, mese - (meseTogliUno ? 1 : 0), 1);
	return cal.getActualMaximum(Calendar.DAY_OF_MONTH);
}

MEMO: java conta i mesi partendo dallo 0, perciò Gennaio non è 1, ma 0 ! Per questo ho messo un boolean meseTogliUno !