2013-03-27 3 views
11

以下は、ディスク名の前にスラッシュを付ける。 どうすればそれを避けることができますか?getResourceは、java 1.7を使用してディスク名の前に/を置く。windows 7

String pngpath = getClass().getResource("/resources/lena.png").getPath(); 
System.out.println("pngpath = "+pngpath); 

与える:

pngpath = /C:/Users/jgrimsdale/Documents/NetBeansProjects/HelloCV/build/classes/resources/lena.png 
+1

あなたは 'getResource'声明から先頭のスラッシュを削除するとどうなりますか? – nattyddubbs

+1

私はそのパスが有効であると信じています。 –

+1

@SotiriosDelimanolis特定の状況ではありません。 –

答えて

-1

あなたはこのコードを使用してこれを行うことができます。

System.out.println("pngpath = "+pngpath.substring(1,pngpath.length())); 
+2

これは、linux上でスラッシュを必要とするファイル名を取得します。 @diogosantanaの答えはよりプラットフォームに依存しない –

15

用途:

String pngpath = getClass().getResource("/resources/lena.png").getFile(); 
File file = new File(pngpath); 
System.out.println(file.getAbsolutePath()); 
0

ファイルのコンストラクタ(URI)または(文字列)ファイルシステムに依存するパス文字列またはURIオブジェクトからファイルオブジェクトを取得するのに役立ちます。

これはJavaライブラリを使用するためのソリューションです。

System.out.println(new File("/C:/Users/jgrimsdale").toString()) 

https://docs.oracle.com/javase/7/docs/api/java/io/File.html#File(java.net.URI)

関連する問題