前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用JAVA的IO流下载落网音乐?

如何用JAVA的IO流下载落网音乐?

作者头像
剽悍一小兔
发布2018-05-17 15:37:43
8750
发布2018-05-17 15:37:43
举报

一直以来都特别喜欢落网的音乐,最近用JAVA写了一个小程序,可以根据期刊和歌曲编号去下载音乐。本程序仅供学习使用。

目前只写了一个初步的代码:

代码语言:javascript
复制
public class DownloadMusic {
    
    private static int count = 1;

    public static void main(String[] args) throws Exception {
        
        
        while(count < 16){
            String path = null;
            if(count < 10){
                path = "http://mp3-cdn2.luoo.net/low/luoo/radio957/0"+count+".mp3";
            }else{
                path = "http://mp3-cdn2.luoo.net/low/luoo/radio957/"+count+".mp3";
            }
            
            
            
            //获取URL对象
            URL url = new URL(path);
            //根据URL打开链接
            URLConnection connection = url.openConnection();
            
            //从连接处获取输入流对象
            InputStream inputStream = connection.getInputStream();
            
            System.out.println("链接成功!");
            
            File file = new File("E:/mp3/957");
            
            if(!file.exists()){
                file.mkdir();
            }
            
            if(count < 10){
                IOUtils.download("E:/mp3/957/0"+count+".mp3", inputStream);
            }else{
                IOUtils.download("E:/mp3/957/"+count+".mp3", inputStream);
            }
            
            
            count++;
        }
        
        
        
    }
}

其中,专辑需要指定,然后固定下载15首音乐。

再给出IOUtils的代码:

代码语言:javascript
复制
import java.io.FileOutputStream;
import java.io.InputStream;

public class IOUtils {
    
    /**
     * 
     * @param path 需要下载的文件路径,包括后缀名
     * @param inStream 输入流
     */
    public static void download(String path,InputStream inStream){
        FileOutputStream fs;
        try {
            fs = new FileOutputStream(path);
            byte[] buffer = new byte[1204];
            
            int byteread = 0;
           
            while ((byteread = inStream.read(buffer)) != -1) {
              fs.write(buffer, 0, byteread);
            }
            System.out.println(path + "保存成功!");
            
        } catch (Exception e) {
            e.printStackTrace();
        }
        
        
        
    }
}

感兴趣的朋友可以在这个代码上改进,使之功能更加全面。

源码下载地址:http://java520.top/article/3457.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.03.16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档