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();
}
}
}
感兴趣的朋友可以在这个代码上改进,使之功能更加全面。
java中实现下载音乐_如何用JAVA的IO流下载落网音乐?相关推荐
- JAVA中流水账的实现_流水账式java基础Summary
来一篇java基础知识的小总结,采用流水账式,不是特意的,而是不知道用什么形式把这些东西联系起来,那就想起什么写些什么吧 关键字:java中赋予特殊含义,具有专门用途的的单词,class.public ...
- java中什么是类型_什么是Java中基本数据类型?
Java中除了二进制文件和使用文本文件外还有基于Data的数据操作,这里的Data指的是Java的基本数据类型和String.基本数据类型包括byte.int.char.long.float.doub ...
- java中注解的解析_全面解析Java中的注解与注释
注解一.什么是 Annotation? (注解 or 注释)Annotation, 准确的翻译应该是 -- 注解. 和注释的作用完全不一样. Annotation 是JDK5.0及以后版本引入的一个特 ...
- java中对象的生存期_深入理解Java虚拟机-判断对象是否存活算法与对象引用
我们知道Java中的对象一般存放在堆中,但是总不能让这些对象一直占着内存空间,这些对象最终都会被回收并释放内存,那么我们如何判断对象已经成为垃圾呢?这篇文章会提出两种算法解决这个问题.另外,本文还要谈 ...
- java中的static类_再议Java中的static关键字
再议Java中的static关键字 java中的static关键字在很久之前的一篇博文中已经讲到过了,感兴趣的朋友可以参考:<Java中的static关键字解析>. 今天我们再来谈一谈st ...
- java编写大数据分析模型_如何用Java(DOM分析器)编写XML文件
java编写大数据分析模型 Earlier we learned how to read XML file and how to edit XML file in java using DOM Par ...
- java中static修饰函数_详解java中static关键词的作用
在java中,static是一个修饰符,用于修饰类的成员方法.类的成员变量,另外可以编写static代码块来优化程序性能:被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载 ...
- java 判断手机运营商_如何用java判断手机号运营商?
如何用java实现判断手机号的运营商?因为每个号段都是工信部规定划分给指定运营商的,所以我们可以通过手机号码的号段来判断. 现在手机号的号段那么多,要怎样方便的的判断呢?于是我们就想到了正则表达式,在 ...
- java中accept什么意思_什么是Java中的IntStream.Builder accept()方法
使用IntStream.Builderaccept()方法将元素插入IntStream .它将元素添加到正在构建的流中. 语法如下:void accept(int t) 在这里,参数t是输入参数. 元 ...
- java中什么是类型_什么是Java中的“SAM类型”?
总结的情况下,the link Jon posted它曾经出现故障,"SAM"代表"单一抽象方法"和"SAM型"是指接口,如Runnable ...
最新文章
- 用掘金-Markdown 官方语法总结大全
- 5个很常用的CSS3网页小实例
- 编译FileMon出错
- 下次遇到嚣张的候选人就先这么问:系统变慢了你怎么搞?
- 3部世界顶级宇宙纪录片,献给对宇宙万物充满好奇的你
- 匿名内部类----java
- MyEclipse:新导入一个项目时中文乱码
- matlab高数数学报告,高等数学实验报告matlab参考答案
- 期货反向跟单的四大跟单禁忌
- 6位数字密码滚动破解
- python解析mht文件_[原创].mht文件图片解析工具
- Notion使用详解三Notion小传
- 饭店点餐系统之模块划分
- 计算机最最最底层的工作原理是怎么运行的
- 哈工大软件构造lab3总结
- Python进行网页自动打卡系统
- EXCEL中如何使用正则表达式
- IntelliJ IDEA(Ultimate版本)的下载、安装和WordCount的初步使用(本地模式和集群模式)...
- CUDA安装失败,解决办法
- 变分自编码器背后的直觉【VAE】