Domanda

Sto avendo diversi file che voglio convertire da DOS in Unix. C'è qualche API o metodo che mi aiuterà a farlo?

È stato utile?

Soluzione

Ci sono strumenti Linux che possono farlo (dos2unix Per esempio).

In Java può essere fatto con String.replaceAll().

Dos usa \r\n Per la terminazione della linea, mentre UNIX utilizza un singolo \n.

String unixText = windowsText.replaceAll("\r\n", "\n"); // DOS2UNIX

Quindi no, non esiste API. Sì, è facile.

Altri suggerimenti

Solo un modo alternativo (rispetto a quello descritto da Parasietje) usando Dox2Unix. Dì che tutti i file DOS siete in una cartella

Runtime.getRuntime().exec("dos2unix /path/to/dos/files/*");

La maggior parte delle distribuzioni UNIX/Linux ha l'utilità denominata unix2dos e dos2unix comandi.

Modifica: basta copiare il tuo file su Unix Machine ed eseguire dos2unix *.

Puoi anche trovare questa utilità per Windows e fare lo stesso.

C'è un'utilità/comando in Linux/Unix chiamato dos2unix Ciò ti aiuterà a convertire i tuoi file da DOS in formato UNIX. Per installare semplicemente digitare in console (potrebbe essere necessario privilegi di root)

yum install dos2unix

Per eseguire la conversione è necessario utilizzare il comando dos2unix seguito da nome file. Per esempio

[aniket@localhost ~]$ dos2unix sample.txt 
dos2unix: converting file sample.txt to UNIX format ...

Per tutti i file in una directory puoi semplicemente utilizzare

dos2unix *
String unixText = windowsText.replaceAll("\r\n", "\n"); // DOS2UNI

La riga sopra dovrebbe rimuovere tutto R ma per qualche motivo rimuove anche l'IndE, quindi ho dovuto aggiungerlo quando stampano UNIXText in un file: UnixText + " n"

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top