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

  • 相关阅读:
    常见运算符_python
    hibernate中的二级缓存
    事务的隔离级别
    java hibernate 一对多和多对多映射关系总结
    hibernate中集合映射总结
    java中静态代码块之我的理解
    select下拉表达设置选中,获取选中项,change
    jquery checkbox设置选中,全选,反选,取值
    javaWeb建立一个简单三层项目具体步骤
    java 异步实现省市联动
  • 原文地址:https://www.cnblogs.com/skyblue-li/p/8586151.html
Copyright © 2011-2022 走看看