Jackson è una delle librerie più conosciute ed usate per il parsing di JSON in Java.

Ma in verità questa libreria fa molto di più con le sue estensioni.

Oggi vediamo come usarla per fare il parsing di file in formato YAML!

Se usate Maven aggiungete questo al vostro pom.xml:

        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-yaml</artifactId>
            <version>2.9.1</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.1</version>
        </dependency>

Praticamente tutte le librerie per il parsing della riga di comando in Java, sono abbastanza simili.

Ce ne stanno alcuni che sono un pò più compatti, e tra c'è JCLAP!

Per installarla usando Maven:

       <dependency>
            <groupId>net.snaq</groupId>
            <artifactId>jclap</artifactId>
            <version>1.4</version>
        </dependency>

Abbiamo la nostra bella TableView in JavaFX:

<TableView fx:id="tblBooks"
  BorderPane.alignment="CENTER"
  onKeyPressed="#deleteBook"/>

E vogliamo intercettare il tasto CANC / DEL, e di conseguenza compiere un'azione (generalmente cancellare riga).

Come fare?

La libreria che andremo a vedere oggi per il parsing della riga di comando in Java, rispetto alle altre che abbiamo già visto, è formata da una sola classe.

Quindi, se volete, potete anche copiarvi direttamente la classe da GitHub invece di includere il JAR.

Comunque risulta completa lo stesso, anche se così leggera.

Abbiamo già visto altre visto la libreria Apache POI, che ci consente di manipolare file MS Office in Java.

Oggi vediamo come leggere un file Excel.

Se usate Maven, aggiungete questo al file pom.xml:

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.17</version>
        </dependency>

In questo articolo avevamo visto come usare YamlBeans per leggere file YAML in Java.

Oggi vediamo come usare la stessa libreria per crearli.

Se usate Maven, aggiungete questa dipendenza al pom.xml:

        <dependency>
            <groupId>com.esotericsoftware.yamlbeans</groupId>
            <artifactId>yamlbeans</artifactId>
            <version>1.06</version>
        </dependency>

Apache POI è un'ottima libreria per visualizzare e manipolare file di MS Office.

Oggi vediamo come leggere file Word (DOC e DOCX).

Li specifico entrambi perchè richiedono parti di libreria e classi differenti.

Se usate Maven aggiungete queste dipendenze al pom.xml:

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.17</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.17</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-scratchpad</artifactId>
            <version>3.17</version>
        </dependency>

E' la prima volta che tratto il formato YAML, perchè in genere cerco di usare JSON (o XML al limite).

Però ho dovuto mettermi in pari anche su questo formato.

Al link postato sopra potete avere una panoramica e qualche esemppio.

Qui invece potete vedere una lista di librerie per svariati linguaggi.

Tra le varie librerie che fino ad ora ho testato per fare il parsing della riga di comando in Java, Argparse4j è una di quelle che consiglio.

Se usate Maven aggiungete questa dipendenza al vostro pom.xml:

        <dependency>
            <groupId>net.sourceforge.argparse4j</groupId>
            <artifactId>argparse4j</artifactId>
            <version>0.7.0</version>
        </dependency>

L'altro giorno stavo cercando di eseguire il download da un mio programma in Java da un sito con HTTPS.

Cosa già fatta varie altre volte; solo che questa volta, su questo sito, riscontravo questo errore (vi posto una parte del trace):

javax.net.ssl.SSLException: java.lang.RuntimeException: 
Could not generate DH keypair
......
Caused by: java.lang.RuntimeException: Could not generate DH keypair
......
Caused by: java.security.InvalidAlgorithmParameterException: 
DH key size must be multiple of 64, and can only range 
from 512 to 2048 (inclusive). 
The specific key size 4096 is not supported
......