「java怎么做下载」java怎么做下载进度条

博主:adminadmin 2022-12-04 22:39:07 62

本篇文章给大家谈谈java怎么做下载,以及java怎么做下载进度条对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

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 = "倩女幽魂.mp3";//MP3下载的地址

String path ="";

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();

byte[]buffer = new byte[1024];

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();

}

}

}

}

怎么下载java?

JDK和JRE的下载地址如下:

如果你是用java做开发请下载JDK。你要是只为了运行java做好的程序,只下载JRE就可以了。

如果你要是开发,还需要下载编辑环境和编译环境,比如eclipse,下载地址是:

通过上边连接下载下来的全都是原版,都是免费的。

java 想做一个文件下载 不知道怎么写

/** 

 * 复制一个目录及其子目录、文件到另外一个目录 

 * @param src 

 * @param dest 

 * @throws IOException 

 */  

private void copyFolder(File src, File dest) throws IOException {  

    if (src.isDirectory()) {  

        if (!dest.exists()) {  

            dest.mkdir();  

        }  

        String files[] = src.list();  

        for (String file : files) {  

            File srcFile = new File(src, file);  

            File destFile = new File(dest, file);  

            copyFolder(srcFile, destFile);  

        }  

    } else {  

        InputStream in = new FileInputStream(src);  

        OutputStream out = new FileOutputStream(dest);  

        byte[] buffer = new byte[1024];  

        int length;  

        while ((length = in.read(buffer))  0) {  

            out.write(buffer, 0, length);  

        }  

        in.close();  

        out.close();  

    }  

}

java 实现下载

首先有2种方法:

1. 用超链接标签直接链接至文件路径,前提是这个文件在项目系统的相对路径下;

2. 利用java代码实现,先读取文件,然后以流的形式发送到浏览器;这种方法就是不管文件在操作系统的什么地方都可以读取;而且还可以重写客户接受的文件的名称。

类似的代码你上网查查就可以了,很多的

java怎么做下载的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java怎么做下载进度条、java怎么做下载的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-04,除非注明,否则均为首码项目网原创文章,转载请注明出处。