Différences entre les fichiers Unix et Windows

Suis-je raison de supposer que la seule différence entre les "fichiers de windows" et "fichiers unix" est le saut de ligne?

Nous avons un système qui a été déplacé à partir d'un ordinateur windows vers une machine unix et que vous rencontrez des problèmes avec le format.

J'ai besoin d'automatiser la traduction entre unix/windows avant que les fichiers livrés pour le système dans notre "transportsystem". Je vais probablement besoin de quelque chose pour déterminer le format actuel et quelque chose pour le transformer en un autre format.
Si c'est juste le retour à la ligne c'est la grande différence, alors j'envisage seulement de lire les fichiers avec le java.io. Autant que je sache, ils sont capables de gérer à la fois avec readLine. Et puis il suffit d'écrire chaque ligne de retour avec

while (line = readline)
    print(line + NewlineInOtherFormat)
....

Résumé:

samjudson:

Ce n'est qu'une différence dans les fichiers texte, où UNIX utilise un seul saut de Ligne (LF) pour signifier une nouvelle ligne, Windows utilise un Retour Chariot/saut de Ligne (CRLF) et Mac utilise juste un CR.

à qui Cebjyre commente:

OS X utilise FL, le même que UNIX, MacOS 9 et ci-après n'ont CR si

Mo

Il pourrait également être une différence de codage de caractères pour les caractères nationaux. Il n'y a pas de "unix-encoding" mais beaucoup linux-variantes d'utilisation de l'UTF-8 comme encodage par défaut. Mac OS (qui est aussi un unix) utilise son propre codage (macroman). Je ne suis pas sûr, qu'en windows par défaut l'encodage.

McDowell

En plus de la nouvelle ligne de différences, la marque d'ordre d'octet peut causer des problèmes si les fichiers sont traités comme Unicode sur Windows.

Cheekysoft

Cependant, un autre ensemble de problèmes que vous pouvez rencontrer peuvent être liées à des single/multi-octets encodages de caractères. Si vous voyez étrange, inattendu caractères (pas de fin de ligne), puis cela pourrait être la raison. Surtout si vous voyez des carrés, des points d'interrogation à l'envers à la question des marques, des caractères supplémentaires ou imprévus des caractères accentués.

Sadie

sous unix, les fichiers qui commencent par un . sont cachés. Sur windows, c'est un système de fichiers drapeau que vous n'avez probablement pas facile d'accès. Cela peut résultat dans des fichiers qui sont censé être caché désormais visible sur les machines client.

autorisations d'un Fichier de varier entre les deux. Vous trouverez probablement, lorsque vous copiez des fichiers sur un système unix, les fichiers appartenant à l'utilisateur qui a fait la copie et ont des droits limités. Vous aurez besoin d'utiliser chown/chmod s'assurer que les utilisateurs ont accès à eux.

Il existe des outils pour aider avec le problème:

pauldoo

Si vous êtes simplement intéressé par le contenu des fichiers de texte, alors oui les fins de ligne sont différents. Jetez un oeil à quelque chose comme dos2unix, il peut être de l'aide ici.

Cheekysoft

Comme pauldoo suggère, des outils comme dos2unix peut être très utile. Notez que ceux-ci peuvent être sur votre système linux/unix comme fromdos ou tofrodos, ou peut-être même que l'objectif général de boîte à outils recode.

De l'aide pour java

Cheekysoft

Lors de l'écriture de fichiers ou de lecture de fichiers (que vous êtes en contrôle de l'), il vaut souvent la peine de spécifier l'encodage à utiliser, comme la plupart des méthodes de Java permettent. Cependant, aussi veiller à ce que les paramètres régionaux du système correspond peut économiser beaucoup de douleur

source d'informationauteur svrist