zoukankan      html  css  js  c++  java
  • 如何用JAVA的IO流下载落网音乐?

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

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

    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的代码:

    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

  • 相关阅读:
    vscode英文显示设置为中文语言
    vscode各插件使用-背景图-scss
    公众号关联小程序
    js点击遮罩空白区域关闭,点击遮罩内元素不关闭
    swiper使用-点击跳转指定页
    小程序内部引导关注公众号实现方法
    jq赋值input值为空
    sass中代码使用
    Sources”参数中指定了多次。“Sources”参数不支持重复项
    将已存在小程序项目添加云开发配置
  • 原文地址:https://www.cnblogs.com/skyblue-li/p/8586151.html
Copyright © 2011-2022 走看看