jdk 1.6 或更低版本的 java.nio.file.Files 替代品

标签 java java-7

我正在尝试对以下代码使用 java.nio.file.Files 功能

@RequestMapping(value = "/view", method = RequestMethod.GET)
public HttpServletResponse viewReport(Map model, HttpServletRequest req,HttpServletResponse rep){

     try {

         ReportGenerationService reportGenerationService = new ReportGenerationService();
         ViewReportParameters viewReportParameters = reportGenerationService.getReportViewParameters();


         String quote="\"";
         String inlineFileName = "inline; fileName="+quote+viewReportParameters.getFileName()+".pdf"+quote;

         File file = new File(filePath);

         rep.setHeader("Content-Type", "application/pdf");
         rep.setHeader("Content-Length", String.valueOf(file.length()));
         rep.setHeader("Content-Disposition", inlineFileName);


            Files.copy(file.toPath(), rep.getOutputStream());
        } catch (IOException e) {
            e.printStackTrace();
        }

    return rep;
}

但是由于 linux box jdk 版本较旧(Java 6),我无法使用它。在 Java 6 中是否有其他方法可以执行类似的操作?提前致谢

最佳答案

Guava提供Files类似于 java.nio.file.Files 的类。它有一个重载的copy()方法,如

public static void copy(File from,  OutputStream to) throws IOException

那个

Copies all bytes from a file to an output stream.

它不需要任何 Java 7 类,因此可以使用 Java 6 进行编译。

关于jdk 1.6 或更低版本的 java.nio.file.Files 替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18747338/

相关文章:

java - 如何确定单个 Java 执行器服务中管道中的所有任务何时完成

java - 在窗口上打印数字数组

java - 从 JSP 页面运行 java 应用程序

java - 从 pom 设置 groovysh 类路径

java - 如何在命令提示符下启动/停止Java进程?

performance - Java 7 与 Java 5 垃圾收集

java - 如何在 if 语句中使用 try-with-resources?

java - 如何在 Java 中匹配对象数组的 Map

eclipse - Java 7 中的 EMMA [MAIN_METHOD_NOT_FOUND]

java - 如何在雪豹上安装 java jdk 7