java下载文件(java怎么下载压缩文件)
本文目录
- java怎么下载压缩文件
- java下载服务器上的文件到客户端
- java下载文件,怎么指定下载到指定的文件夹下啊,就是不弹出保存框,直接下载到指定的文件夹下,谢谢回答
- java 如何实现下载功能
- java 下载功能
- 通过java实现文件下载
- 怎样通过java实现服务器上文件下载
- 求问Java文件下载的几种方式
- Java文件下载怎么实现的
java怎么下载压缩文件
可以用java的输入,输出流,设置返回的类型为下转 response.setContentType(“application/x-download“);//设置为下载application/x-download String filedownload = “/要下载的文件名“;//即将下载的文件的相对路径 String filedisplay = “最终要显示给用户的保存文件名“;//下载文件时显示的文件保存名称 String filenamedisplay = URLEncoder.encode(filedisplay,“UTF-8“); response.addHeader(“Content-Disposition“,“attachment;filename=“ + filedisplay);
java下载服务器上的文件到客户端
java编程方法下载服务器上的文件到本地客服端,代码如下:
import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.InputStream;import java.net.URL;import java.net.URLConnection; public class DownLoad { public static void downloadFile(URL theURL, String filePath) throws IOException { File dirFile = new File(filePath); if(!dirFile.exists()){ //文件路径不存在时,自动创建目录 dirFile.mkdir(); } //从服务器上获取图片并保存 URLConnection connection = theURL.openConnection(); InputStream in = connection.getInputStream(); FileOutputStream os = new FileOutputStream(filePath+“\\123.png“); byte buffer = new byte[4 * 1024]; int read; while ((read = in.read(buffer)) 》 0) { os.write(buffer, 0, read); } os.close(); in.close(); } public static void main(String args) { //下面添加服务器的IP地址和端口,以及要下载的文件路径 String urlPath = “http://服务器IP地址:端口/image/123.png“; //下面代码是下载到本地的位置 String filePath = “d:\\excel“; URL url = new URL(urlPath); try { downloadFile(url,filePath); } catch (IOException e) { e.printStackTrace(); } } }
java下载文件,怎么指定下载到指定的文件夹下啊,就是不弹出保存框,直接下载到指定的文件夹下,谢谢回答
如果是用 IE 等浏览器下载,这些浏览器都有自己的下载目录定义。如果是你自己用 Java 写了一个浏览器,则在接收到下载流时,用 FileOutputStream fos = new FileOutputStream(“d:\\java-browser\\downloads“); 即可。
java 如何实现下载功能
import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.io.RandomAccessFile;import java.net.HttpURLConnection;import java.net.ProtocolException;import java.net.URI;import java.net.URL;import java.util.Random;/** * * 实现了下载的功能*/ public class SimpleTh { public static void main(String args){ // TODO Auto-generated method stub //String path = “
java 下载功能
import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.io.RandomAccessFile;import java.net.HttpURLConnection;import java.net.ProtocolException;import java.net.URI;import java.net.URL;import java.util.Random;/** * * 实现了下载的功能*/ public class SimpleTh { public static void main(String args){ // TODO Auto-generated method stub //String path = “
通过java实现文件下载
在jsp/servlet中断点/多线程下载文件《%@ page import=“java.io.File“ %》《%@ page import=“java.io.IOException“ %》《%@ page import=“java.io.OutputStream“ %》《%@ page import=“java.io.RandomAccessFile“ %》《%! public void downloadFile(HttpServletRequest request, HttpServletResponse response, File file) throws IOException { RandomAccessFile raf = new RandomAccessFile(file, “r“); java.io.FileInputStream fis = new java.io.FileInputStream(raf.getFD()); response.setHeader(“Server“, “www.trydone.com“); response.setHeader(“Accept-Ranges“, “bytes“); long pos = 0; long len; len = raf.length(); if (request.getHeader(“Range“) != null) { response.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT); pos = Long.parseLong(request.getHeader(“Range“) .replaceAll(“bytes=“, ““) .replaceAll(“-“, ““) ); } response.setHeader(“Content-Length“, Long.toString(len - pos)); if (pos != 0) { response.setHeader(“Content-Range“, new StringBuffer() .append(“bytes “) .append(pos) .append(“-“) .append(Long.toString(len - 1)) .append(“/“) .append(len) .toString() ); } response.setContentType(“application/octet-stream“); response.setHeader(“Content-Disposition“, new StringBuffer() .append(“attachment;filename=\““) .append(file.getName()) .append(“\““).toString()); raf.seek(pos); byte b = new byte; int i; OutputStream outs = response.getOutputStream(); while ((i = raf.read(b)) != -1) { outs.write(b, 0, i); } raf.close(); fis.close(); }%》《% String filePath = request.getParameter(“file“); filePath = application.getRealPath(filePath); File file = new File(filePath); downloadFile(request, response, file);%》是否可以解决您的问题?
怎样通过java实现服务器上文件下载
在jsp/servlet中断点/多线程下载文件
《%@ page import=“java.io.File“ %》《%@ page import=“java.io.IOException“ %》《%@ page import=“java.io.OutputStream“ %》《%@ page import=“java.io.RandomAccessFile“ %》《%! public void downloadFile(HttpServletRequest request, HttpServletResponse response, File file) throws IOException { RandomAccessFile raf = new RandomAccessFile(file, “r“); java.io.FileInputStream fis = new java.io.FileInputStream(raf.getFD()); response.setHeader(“Server“, “www.trydone.com“); response.setHeader(“Accept-Ranges“, “bytes“); long pos = 0; long len; len = raf.length(); if (request.getHeader(“Range“) != null) { response.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT); pos = Long.parseLong(request.getHeader(“Range“) .replaceAll(“bytes=“, ““) .replaceAll(“-“, ““) ); } response.setHeader(“Content-Length“, Long.toString(len - pos)); if (pos != 0) { response.setHeader(“Content-Range“, new StringBuffer() .append(“bytes “) .append(pos) .append(“-“) .append(Long.toString(len - 1)) .append(“/“) .append(len) .toString() ); } response.setContentType(“application/octet-stream“); response.setHeader(“Content-Disposition“, new StringBuffer() .append(“attachment;filename=\““) .append(file.getName()) .append(“\““).toString()); raf.seek(pos); byte b = new byte; int i; OutputStream outs = response.getOutputStream(); while ((i = raf.read(b)) != -1) { outs.write(b, 0, i); } raf.close(); fis.close(); }%》《% String filePath = request.getParameter(“file“); filePath = application.getRealPath(filePath); File file = new File(filePath); downloadFile(request, response, file);%》
求问Java文件下载的几种方式
InputStream fis = new BufferedInputStream(new FileInputStream(path));byte buffer = new byte[fis.available()];fis.read(buffer);fis.close();// 清空responseresponse.reset();// 设置response的Headerresponse.addHeader(“Content-Disposition“, “attachment;filename=“ + new String(filename.getBytes()));response.addHeader(“Content-Length“, ““ + file.length());OutputStream toClient = new BufferedOutputStream(response.getOutputStream());response.setContentType(“application/octet-stream“);toClient.write(buffer);toClient.flush();toClient.close();} catch (IOException ex) {ex.printStackTrace();}return response;}public void downloadLocal(HttpServletResponse response) throws FileNotFoundException {// 下载本地文件String fileName = “Operator.doc“.toString(); // 文件的默认保存名// 读到流中InputStream inStream = new FileInputStream(“c:/Operator.doc“);// 文件的存放路径// 设置输出的格式response.reset();response.setContentType(“bin“);response.addHeader(“Content-Disposition“, “attachment; filename=\““ + fileName + “\““);// 循环取出流中的数据byte b = new byte;int len;try {while ((len = inStream.read(b)) 》 0)response.getOutputStream().write(b, 0, len);inStream.close();} catch (IOException e) {e.printStackTrace();}}public void downloadNet(HttpServletResponse response) throws MalformedURLException {// 下载网络文件int bytesum = 0;int byteread = 0;URL url = new URL(“windine.blogdriver.com/logo.gif“);try {URLConnection conn = url.openConnection();InputStream inStream = conn.getInputStream();FileOutputStream fs = new FileOutputStream(“c:/abc.gif“);byte buffer = new byte;int length;while ((byteread = inStream.read(buffer)) != -1) {bytesum += byteread;System.out.println(bytesum);fs.write(buffer, 0, byteread);}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}} //支持在线打开文件的一种方式public void downLoad(String filePath, HttpServletResponse response, boolean isOnLine) throws Exception {File f = new File(filePath);if (!f.exists()) {response.sendError(404, “File not found!“);return;}BufferedInputStream br = new BufferedInputStream(new FileInputStream(f));byte buf = new byte;int len = 0;response.reset(); // 非常重要if (isOnLine) { // 在线打开方式URL u = new URL(“file:///“ + filePath);response.setContentType(u.openConnection().getContentType());response.setHeader(“Content-Disposition“, “inline; filename=“ + f.getName());// 文件名应该编码成UTF-8} else { // 纯下载方式response.setContentType(“application/x-msdownload“);response.setHeader(“Content-Disposition“, “attachment; filename=“ + f.getName());}OutputStream out = response.getOutputStream();while ((len = br.read(buf)) 》 0)out.write(buf, 0, len);br.close();out.close();}
Java文件下载怎么实现的
下载就很简单了把你要下载的文件做成超级链接,可以不用任何组件比如说下载一个word文档《a href=“名称.doc“》名称.doc《/a》路径你自己写import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.io.RandomAccessFile;import java.net.HttpURLConnection;import java.net.ProtocolException;import java.net.URI;import java.net.URL;import java.util.Random;/** * * 实现了下载的功能*/ public class SimpleTh {public static void main(String args){ // TODO Auto-generated method stub //String path = “http://www.7cd.cn/QingTengPics/倩女幽魂.mp3“;//MP3下载的地址 String path =“http://img.99luna.com/music/%CF%EB%C4%E3%BE%CD%D0%B4%D0%C5.mp3“; try { new SimpleTh().download(path, 3); //对象调用下载的方法 } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static String getFilename(String path){//获得文件的名字 return path.substring(path.lastIndexOf(’/’)+1); }public void download(String path,int threadsize) throws Exception//下载的方法 {//参数 下载地址,线程数量 URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection)url.openConnection();//获取HttpURLConnection对象 conn.setRequestMethod(“GET“);//设置请求格式,这里是GET格式 conn.setReadTimeout(5*1000);// int filelength = conn.getContentLength();//获取要下载文件的长度 String filename = getFilename(path); File saveFile = new File(filename); RandomAccessFile accessFile = new RandomAccessFile(saveFile, “rwd“); accessFile.setLength(filelength); accessFile.close(); int block = filelength%threadsize ==0?filelength/threadsize:filelength/threadsize+1; for(int threadid = 0;threadid《=threadsize;threadid++){ new DownloadThread(url,saveFile,block,threadid).start(); } } private final class DownloadThread extends Thread{ private URL url; private File saveFile; private int block;//每条线程下载的长度 private int threadid;//线程id public DownloadThread(URL url,File saveFile,int block,int threadid){ this.url = url; this.saveFile= saveFile; this.block = block; this.threadid = threadid; } @Override public void run() { //计算开始位置的公式:线程id*每条线程下载的数据长度=? //计算结束位置的公式:(线程id+1)*每条线程下载数据长度-1=? int startposition = threadid*block; int endposition = (threadid+1)*block-1; try { try { RandomAccessFile accessFile = new RandomAccessFile(saveFile, “rwd“); accessFile.seek(startposition);//设置从什么位置写入数据 HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod(“GET“); conn.setReadTimeout(5*1000); conn.setRequestProperty(“Range“,“bytes= “+startposition+“-“+endposition); InputStream inStream = conn.getInputStream(); bytebuffer = new byte; int len = 0; while((len = inStream.read(buffer))!=-1){ accessFile.write(buffer, 0, len); } inStream.close(); accessFile.close(); System.out.println(“线程id:“+threadid+“下载完成“); } catch (FileNotFoundException e) { e.printStackTrace(); } } catch (IOException e) { e.printStackTrace(); } } }}
- 1bat的大数据(BAT的大数据来源)
- 2三星s8屏幕上端2(三星s8屏幕上端2个按键)
- 3三星屏幕坏了如何导出(三星屏幕摔坏了如何导出数据么)
- 4红米3x怎么关闭自动更新(红米k40s怎么关闭自动更新)
- 5微信上防止app自动下载软件怎么办(微信上防止app自动下载软件怎么办啊)
- 6押镖多少钱(押镖一个月有多少储备金)
- 7瑞星个人防火墙胡功能(瑞星个人防火墙协议类型有哪些)
- 8cf现在等级是多少(cf等级2020最新)
- 9老滑头多少条鱼(钓鱼老滑头有什么用)
- 10WPS自动调整语法(wps如何修改语法)
- 11dell控制面板防火墙(dell的防火墙怎么关闭)
- 12丑女技能升多少(丑女技能需要满级吗)
- 13智能家居系统怎么样(智能家居系统好吗)
- 14戴尔屏幕(戴尔屏幕闪烁)
- 15y85屏幕信息(vivoy85息屏显示时间怎么设置)
- 16魅蓝note3屏幕出现方格(魅蓝note屏幕竖条纹)
- 17v8手指按屏幕(触屏手指)
- 18金为液晶广告机(液晶广告机lb420)
- 19三星显示器怎么校色(三星显示器 调色)
- 20hkc显示器dvi音频(hkc显示器有音响么)
- 21康佳液晶智能电视机(康佳液晶智能电视机怎么样)
- 22做液晶画板电脑(做液晶画板电脑怎么操作)
- 23液晶屏极化现象原理(液晶屏极化现象原理是什么)
- 24企业网络安全防火墙(企业网络防护)
- 256splus黑屏屏幕不亮(苹果6s plus屏幕突然黑屏)
- 26充电导致屏幕失灵(充电导致屏幕失灵怎么办)
- 27超极本屏幕旋转(笔记本电脑屏幕旋转,怎么转过来?)
- 28igmp防火墙(防火墙配置ipv6)
- 29荣耀王者多少经验(王者荣耀经验多少一级)
- 30lol老将还剩多少(qg老将)