code: public Result sendFile(File file) throws PathNotFoundException {
          try{
              Result r = ResultBuilder.ok()
                      .addHeader("Content-Disposition", "attachment; filename=" + file.getName())
                      .renderable(new FileInputStream(file))
                      .contentType(MediaType.APPLICATION_OCTET_STREAM);
              holder.setControllerResult(r);
              return r;
          }catch(Exception e){
              throw new PathNotFoundException(e);
          }
      }
docs: Convenience method for downloading files. This method will force the browser to find a handler(external program)
  for  this file (content type) and will provide a name of file to the browser. This method sets an HTTP header
  "Content-Disposition" based on a file name.
  
  @param file file to download.
  @return builder instance.
  @throws PathNotFoundException thrown if file not found.