一直以来都特别喜欢落网的音乐,最近用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

如何用JAVA的IO流下载落网音乐?的更多相关文章

  1. JAVA的IO流下载音乐

    public class DownloadMusic { private static int count = 1; public static void main(String[] args) th ...

  2. java的IO流

    java的IO流继承四大抽象类分别是字节流 inputStream outputStream与字符流 read write.怎么理解记忆很重要. 直接连接读写对象的是结点流,例如对文件读取字节类的名字 ...

  3. Java基础——IO流

    今天刚刚看完java的io流操作,把主要的脉络看了一遍,不能保证以后使用时都能得心应手,但是最起码用到时知道有这么一个功能可以实现,下面对学习进行一下简单的总结: IO流主要用于硬板.内存.键盘等处理 ...

  4. 【Java】IO流简单分辨

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827509.html Java的IO流体系十分庞大,并且体系层次稍复杂,很容易记混或记错.在此,我把平时经常用 ...

  5. Java - 文件(IO流)

    Java - 文件 (IO)   流的分类:     > 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter     ...

  6. Java中IO流的总结

    有关Java中IO流总结图 流分类 按方向分 输入流 输出流 按单位分 字节流 字符流 按功能分 节点流 处理流(过滤流) 其他 所有的流继承与这四类流:InputSteam.OutputStream ...

  7. JAVA中IO流总结

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42119261 我想你对JAVA的IO流有所了解,平时使用的 ...

  8. 第15章-输入/输出 --- 理解Java的IO流

    (一)理解Java的IO流 JAVA的IO流是实现输入/输出的基础,它可以方便地实现数据的输入/输出操作,在Java中把不同的输入/输出(键盘.文件.网络连接等)抽象表述为"流"( ...

  9. Java基础IO流(二)字节流小案例

    JAVA基础IO流(一)https://www.cnblogs.com/deepSleeping/p/9693601.html ①读取指定文件内容,按照16进制输出到控制台 其中,Integer.to ...

随机推荐

  1. ArrayList源码阅读

    前言 数组是我们最常用最简单的数据结构,Java里对数组做了一个简单的包装,就是ArrayList,提供自动扩容的功能. 最常用法 list在我们日常代码中最为常用的做法是创建一个list,放入数据, ...

  2. Java中的volatile的作用和synchronized作用

    volatile该关键字是主要使用的场合是字啊多个线程中可以感知实例的变量被更改了并且可以获取到最新的值进行使用,也就是用多线程读取共享变量的时候可以获取到最新的值使用.不能保障原子性 如果你在jvm ...

  3. GCD实现倒计时

    之前面试中,好多面试官,问使用GCD如何实现倒计时,我当时也没写过,所以一时不知道怎么说,所以结束之后,我实现一下GCD的倒计时. - (void)startTime:(UIButton *)send ...

  4. Spring boot 整合mybatis

    第一步:创建maven项目并添加spring boot依赖: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns ...

  5. Python基础学习参考(五):字符串和编码

     一.字符串 前面已经介绍过字符串,通过单引号或者双引号表示的一种数据类型.下面就再来进一步的细说一下字符串.字符串是不可变的,当你定义好以后就不能改变它了,可以进一步的说,字符串是一种特殊的元组,元 ...

  6. Effective Java 第三版——35. 使用实例属性替代序数

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  7. RTlinux3.2安装

    ( 1 ).前言 2003 年以后, fmslabs 的 RTLinux Free 版本为 3.2Pre ,和以前的 RTLinux 3.1 比较,不再需要必须从 2.4.4 的内核上安装. RTLi ...

  8. mxnet:结合R与GPU加速深度学习

    转载于统计之都,http://cos.name/tag/dmlc/,作者陈天奇 ------------------------------------------------------------ ...

  9. FusionCharts封装-Label

    Category.java: /** * @Title:Category.java * @Package:com.fusionchart.model * @Description:FusionChar ...

  10. HighCharts中的无主题的2D折线图

    HighCharts中的无主题的2D折线图 1.设计源码 <!DOCTYPE html> <html> <head> <meta charset=" ...