Convertir Windows de style chemin dans chemin Unix

Je veux prendre une chaîne de caractères qui représente un chemin d'accès et le convertir en un absolu chemin Unix. Cette chaîne pourrait être dans Windows ou Unix styles, comme c'est le résultat d'un appel à MainClass.class.getClassLoader().getResource("").getPath(), qui renvoie un style différent des chemins en fonction de votre système.

(Je fais ça pour un jeu que je suis en train d'écrire, dont une partie donne à l'utilisateur un simple "bash-ish" shell", et je veux que l'utilisateur soit capable de lire les fichiers. Le faux système de fichiers est stocké dans un répertoire normal de l'arbre dans un sous-répertoire de mon projet. Ce système va utiliser de style Unix chemins, et je veux être capable d'enchaîner des entrées des chemins avec la même chaîne de caractères (avec quelques modifications mineures à obtenir dans le bon répertoire) donc je peut trouver le contenu des fichiers.)

Aucune idées de comment je pourrais faire? J'ai essayé un certain nombre de choses, mais je n'arrive pas à le faire fonctionner correctement sur l'ami de mon système Windows 7.

Pour le moment je suis juste en utilisant une chose simple qui vérifie si la chaîne commence par "C: \" ou quelque chose de similaire, puis remplace les barres obliques inverses par des barres obliques, mais il n'ya aucun moyen que cela peut être une bonne façon d'aller à ce sujet, et je suis sûr que d'autres personnes ont été confrontées au problème de chemin d'accès différent styles avant. C'est très certainement une solution temporaire.

je suggère de montrer un peu de code, ce que vous essayez d'atteindre et ce que vous avez actuellement.
La question semble assez raisonnable pour moi sans code.
Parfaitement raisonnable question. org.apache.commons.io.FilenameUtils.normalize(nom, true) faire ce qui est nécessaire. Il est parfaitement raisonnable de vouloir le faire, et au lieu d'expliquer pourquoi un utilisateur ne devrait pas, pourquoi ne pas publier la réponse?

OriginalL'auteur charliegreen | 2012-11-11