Java: Obtenir de l'URI de la FilePath

J'ai peu de connaissance de Java. J'ai besoin de construire une représentation de chaîne d'une URI de FilePath(String) sur windows. Parfois, le inputFilePath que je reçois est: file:/C:/a.txt et parfois, c'est: C:/a.txt. Maintenant, ce que je fais est:

new File(inputFilePath).toURI().toURL().toExternalForm()

Ci-dessus fonctionne très bien pour les chemins, qui ne sont pas préfixés avec file:/, mais pour les chemins avec le préfixe file:/, l' .toURI la méthode est de le convertir à une URI non valide, en ajoutant de la valeur de répertoire courant, et, de là, le chemin devient invalide.

Merci de m'aider par ce qui suggère une bonne façon d'obtenir de l'URI pour les deux types de chemins.

Suffirait-il suffit d'enlever file:/ depuis le début de la chaîne si présent? Ou pourrait-il y avoir d'autres préfixes?

OriginalL'auteur HarshG | 2011-11-30