Java如何从URL创建File对象?

下面的代码段使用FileUtils.toFile(URL)可在commons-io库中找到的方法将aURL转换为File。url协议应为file,否则null将返回。

package org.nhooo.example.commons.io;

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.net.URL;

public class URLToFileObject {
    public static void main(String[] args) throws Exception {
        // FileUtils.toFile(URL url)从URL转换文件。
        String data = FileUtils.readFileToString(FileUtils.toFile(
                URLToFileObject.class.getResource("/data.txt")), "UTF-8");
        System.out.println("data = " + data);

        // 使用文件协议创建URL并将其转换为File对象。
        File file = FileUtils.toFile(new URL("file://D:/demo.txt"));
        data = FileUtils.readFileToString(file, "UTF-8");
        System.out.println("data = " + data);
    }
}

Maven依赖

<!-- http://repo1.maven.org/maven2/commons-io/commons-io/2.6/commons-io-2.6.jar -->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.6</version>
</dependency>