Esistono diversi modi di codifica una stringa come byte - charset determina che codifica. Se non si specifica un set di caratteri, come nella chiamata a str.getBytes(), utilizza l'impostazione predefinita di sistema.
FindBugs ti avvisa di questo perché devi pensare a quale codifica vuoi usare per il tuo output. Se stai scrivendo su un file, quali sono i lettori di quel file in attesa? È più sicuro se è possibile specificare una codifica esplicita per il file in modo da non scriverlo in un modo e leggerlo in un altro modo.
Per specificare un set di caratteri esplicito, utilizzare str.getBytes(Charset.forName("UTF-8"))
, ad esempio. UTF-8 è una buona scelta perché è sempre supportata e può codificare qualsiasi personaggio.
Ad esempio, i file .properties sono sempre ISO 8859-1 (ovvero Latin-1). Questo è documentato quindi non c'è alcuna ambiguità su quale codifica usare.
si dovrebbe accettare la risposta di seguito come il segno di spunta verde. –