Как конвертировать файлы из Dos в Unix

У меня есть несколько файлов, которые я хочу конвертировать из Dos в Unix. Есть ли API или способ, который поможет мне это сделать?

5 ответов


есть инструменты linux, которые могут это сделать (dos2unix например).

в Java это можно сделать с помощью String.replaceAll().

DOS использует \r\n для завершения строки, в то время как UNIX использует один \n.

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

поэтому нет, API не существует. Да, это чертовски легко.


просто альтернативный способ (чем описанный parasietje) с помощью dox2unix. Скажем, все файлы dos находятся в одной папке

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

большинство дистрибутивов unix / linux имеют утилиту с именем unix2dos и dos2unix команды.

изменить: Просто скопируйте файл на unix-машину и запустите dos2unix *.

вы также можете найти эту утилиту для Windows, и сделать то же самое.


в Linux/Unix есть утилита/команда под названием dos2unix это поможет вам конвертировать файлы из dos в формат unix. Для установки просто введите console (вам могут понадобиться привилегии root)

yum install dos2unix

преобразование вы должны использовать команду dos2unix с последующим именем. Например

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

для всех файлов в каталоге, вы можете просто использовать

dos2unix *

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

вышеуказанная строка должна удалить все \r, но по какой-то причине она также удаляет \n, поэтому мне пришлось добавить ее обратно при печати unixText в файл: unixText + "\n"