一直以来都特别喜欢落网的音乐,最近用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();
}
}
}
感兴趣的朋友可以在这个代码上改进,使之功能更加全面。