Prima cosa.
codice:
FileInputStream fstream = new FileInputStream(file_tempi+".txt");
BufferedReader br = new BufferedReader(new InputStreamReader(ClassLoader.getSystemClassLoader().getResourceAsStream(file_tempi+".txt")));
Una delle due righe è superflua e, di conseguenza, errata: o carichi il file usando getResourceAsStream() o lo carichi usando FileInputStream... che poi nel resto del codice usi il BufferedReader creato dal getResource() per cui la prima riga la puoi anche togliere che tanto è inutile (fstream, infatti, non lo usi da nessuna parte, se non alla fine dove lo chiudi, senza averlo mai usato).
Seconda cosa:
La prima riga (quella che al momento risulta inutile nel tuo codice) legge un file fisico, mentre la seconda legge una risorsa (quindi un file che dovrebbe trovarsi dentro al JAR).
Terza cosa: non sappiamo cosa sia "file_tempi", o meglio, quale sia il suo valore.
Cercherei di chiarirmi le idee sui due concetti.
Se il file si trova fuori dal JAR, dovrai usare un FileInputStream (o meglio, userei un FileReader), quindi creare un BufferedReader in questo modo:
codice:
FileReader fr = new FileReader(file_tempi + ".txt");
BufferedReader br = new BufferedReader( fr );
Se il file si trova dentro al JAR devi usare getResourceAsStream() come hai fatto tu...
Ultima cosa: non ammazzare le eccezioni. Quando viene sollevata un'eccezione, falle stampare lo stackTrace, così almeno puoi avere tutte le informazioni necessarie a capire cosa è andato in errore e, soprattutto, dove.
codice:
} catch (Exception e) {
e.printStackTrace();
}
Prova ad eseguire il programma dopo aver aggiunto la stampa dello stackTrace così ti rendi conto di quale sia l'istruzione che genera l'errore ed, eventualmente, postalo qui.
Ciao.