Java 7の機能を使用してファイルを読み込みます。そのためには、タイプPath
のオブジェクトが必要です。コードでは、getResource()
ファイルへの相対パス(タイプURL
)を取得する関数。
しかし、今では、タイプURL
のオブジェクトからタイプPath
のオブジェクトに簡単に移動する方法が実際にはわからないという問題があります(なしたとえば、URI
、次にFile
、そしてそこからPath
)へのキャストを実行しますか?
これが私がやりたいことを示す例です:
URL url = getClass().getResource("file.txt");
Path path = (new File(url.toURI())).toPath(); //is there an easier way?
List<String> list = Files.readAllLines(path, Charset.defaultCharset());
それで、それを達成するためのより簡単な方法があり、2行目でそのコードの混乱をする必要はありませんか?
どうですか
Path path = Paths.get(url.toURI());
URLからファイルを作成することは適切ではありません。これは、ファイルがクラスパスから取得され、ファイルが実際にはjar内にある可能性があるためです。
In Scalaは
import Java.nio.file.Paths
val resource = getClass.getResource("myfile.txt")
val path = Paths.get(resource.toURI)
In Javaは同じである必要があります(構文が少し異なります)