`
metaphy
  • 浏览: 346633 次
  • 性别: Icon_minigender_1
  • 来自: 大西洋底
社区版块
存档分类
最新评论

从某网站下载MP3的例子

 
阅读更多
从某网站下载MP3的例子。为安全起见,将网站信息匿了。


package tools.download;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

public class DownloadMP3 {
	private static final String SITE = ...
	private static final String SAVE_PATH = ...
	private static int BUFFER_SIZE = 1024 * 8;

	public boolean downloadSrc(String strURL, String saveFile) {

		// strURL validation ....

		BufferedInputStream bis = null;
		FileOutputStream fos = null;
		byte[] buf = new byte[BUFFER_SIZE];

		try {
			File dir = new File(saveFile);
			
			if (!(dir.exists()) && !(dir.isDirectory())) {
				boolean created = dir.mkdirs();
				if (created) {
					System.out.println("创建文件夹成功!");
				} else {
					System.out.println("创建文件夹失败!");
				}
			}
			
			int lastIndex = strURL.lastIndexOf("/");
			saveFile = saveFile + strURL.substring(lastIndex + 1);

			URL url = new URL(strURL);
			URLConnection con = url.openConnection();
			long len = con.getContentLength();

			con.connect();
			bis = new BufferedInputStream(con.getInputStream());
			fos = new FileOutputStream(saveFile);

			int size = 0;
			int progress = 0;
			while ((size = bis.read(buf)) != -1) {
				// System.out.print("_");
				fos.write(buf, 0, size);
				progress++;
				System.out.print(".");
				if (progress % 80 == 0) {
					System.out.print("\n");
					progress = 0;
				}
			}
			fos.close();
			bis.close();

			File fsaved = new File(saveFile);
			long fileLen = fsaved.length();

			if (progress > 0)
				System.out.print("\n");
			System.out.println(len);
			System.out.println(fileLen);

			if (len == fileLen) {
				return true;
			} else {
				return false;
			}
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (fos != null) {
				try {
					fos.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			if (bis != null) {
				try {
					bis.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}

		return false;
	}

	/**
	 * Specific download
	 */
	public void downloadSite() {
		final int V = 34;

		final int MAX_TUNES = 20;
		
		int total = 0, failed = 0, success = 0; 

		for (int i = 1; i <= MAX_TUNES; i++) {
			String strURL = ...
			
			String saveFile = ...

			System.out.println(strURL);
			boolean successful = downloadSrc(strURL, saveFile);
			total ++;
			if (successful) {
				success++;
				System.out.println("Done - " + saveFile + "\n");
			} else {
				failed++;
				System.out.println("Failed.\n");
			}
		}
		System.out.println("Total: " + total + "; succeed: " + success + "; failed: " + failed);
	}

	public static void main(String[] args) {
		DownloadMP3 dlmp3 = new DownloadMP3();
		dlmp3.downloadSite();
	}
}


0
0
分享到:
评论

相关推荐

    一个C++写的MP3例子

    这个C++编写的MP3例子是一个编程实践项目,旨在展示如何在C++环境中处理音频文件,特别是MP3格式的音频。MP3是一种广泛使用的数字音频编码格式,它通过有损压缩技术在保持可接受音质的同时,大大减小了文件大小,...

    mp3专用格式化

    这句描述可能是用户对于某个MP3格式化工具或服务的高度评价。用户通过个人体验表达了对它的满意,认为该工具或服务效果显著,推荐其他人尝试。通常,这样的工具可能包括了诸如将其他音频格式转换为MP3、调整音频质量...

    C#.net_经典编程例子400个

    mid-wav文件 226 实例154 获取多媒体详细信息列表 227 5.2 MP3、WAV播放 228 实例155 带记忆功能的MP3播放器 228 实例156 自动播放的MP3播放器 231 实例157 学校体操定时音乐播放 233 ...

    自己编写的简单MP3播放器(VC)

    用VFW.h库中的MCI函数开发的简单mp3播放器工具,实现在顺序播放某个目录中所有mp3音乐文件功能,可以在播放列表中单击文件名选择播放文件,可以播放前一个、后一个音乐文件等功能。为想学习这方面编程的朋友提供一个...

    易语言MP3分类器.rar

    《易语言MP3分类器》是一款使用易语言开发的实用工具,主要功能是对MP3音乐文件进行自动分类和管理。易语言是一种以中文为编程语言的编程环境,它旨在降低编程难度,让更多人能参与到程序设计中来。这款MP3分类器...

    一个非常简单的iOS音乐播放例子

    这通常在视图控制器的某个初始化方法或视图加载方法中完成。例如,在Objective-C中: ```objective-c NSURL *audioFileURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"yourSong" ofType:@...

    利用音频素材制作歌曲例子

    使用Audition的音量调整工具,可以为每个音轨设置合适的输入和输出级别,避免某个音轨过于突出或被掩盖。 7. **声相定位**:通过调整声相,可以创造出立体的听觉效果。例如,一首歌曲可以放在左声道,另一首放在右...

    red5教程和基本例子

    - **Red5下载**:访问官方网站[osflash.org/red5](http://www.osflash.org/red5)下载Red5 v0.7.0 Final版本的Windows安装包。 - **安装步骤**: 1. 下载安装包后直接运行安装程序。 2. 在安装过程中指定安装目录。...

    html5学习例子

    和标签提供了播放、暂停、音量控制等功能,同时支持多种格式,如MP3、AAC、WebM等。 4. canvas画布:HTML5的元素允许开发者通过JavaScript进行动态图形绘制,实现了丰富的交互式和动画效果,广泛应用于游戏、图表、...

    c#播放声音例子(键盘钢琴)

    常见的音频格式如WAV、MP3等,C#可以使用NAudio库来读取和处理。如果是WAV文件,可以直接使用DirectX的`SecondaryBuffer`来加载。 3. **缓冲区创建**:在DirectSound中,声音数据被存储在缓冲区中。我们可以创建一...

    twilio python自动拨打电话,播放自定义mp3音频的方法

    这可能是由于Twilio服务器位于国外,从你的腾讯云服务器加载MP3文件需要较长时间。为了解决这个问题,你可以将MP3文件上传到一个国外的公共网站,这样Twilio可以更快地获取到文件。这样,电话接通后,音频几乎能立即...

    PHP简单实现断点续传下载的方法

    断点续传是一种在网络上传输大文件时非常实用的技术,它允许用户在因网络问题中断下载后,从上次中断的地方继续下载,而不需要重新开始。在PHP中实现断点续传下载,主要涉及到HTTP协议中的Range头信息以及文件处理...

    amprise:goran提取音频信息的小例子

    例如,`pydub.AudioSegment.from_mp3()`用于从MP3文件创建一个AudioSegment对象。 6. **保存或输出结果**:最后,你可以将处理后的数据保存到新文件,或直接在代码中使用这些信息。 这个压缩包"amprise-master"很...

    与mp3对应职称英语高频词汇第一部分(带音标)

    以上只是部分词汇的解释,通过这些例子可以看出,掌握这些词汇不仅能够帮助我们在日常交流中更加自如,也能在专业领域内更准确地表达自己的想法。继续深入学习这些词汇及其用法,将有助于提高英语水平,并在职场上...

    FF(人物制作工具)

    要先下载mugen的主程序,然后: MUGEN有六个文件夹,chars就是放人物的地方(支持文件夹),stages是游戏背景的地方可以自己放进去,font是游戏字体也就是A,B,C,D.... 1234567890和时间无限的字体,可以用工具改 ...

    给网站添加一个点击播放音乐的小人.rar

    在这个例子中,`id`属性用于唯一标识这个音频元素,`src`属性则指定了音频文件的路径。如果用户的浏览器不支持`&lt;audio&gt;`标签,"Your browser does not support the audio element."这段文本将会显示出来。 接下来,...

    疯狂原始人皮带猴手机短信铃声.rar

    虽然许多网站提供免费下载,但确保获取铃声的途径合法是很重要的,以免侵犯知识产权。 7. **音频转换工具**: 如果手机不支持某铃声文件的格式,可以使用音频转换工具将其转换为兼容的格式。例如,可以将MP3转换为...

    摩托罗拉经典铃声hellomoto

    在音乐方面,铃声不仅仅是一段简短的旋律,它可能代表着一个时代的记忆,或者与某个品牌紧密关联。摩托罗拉的"hello moto"就是这样的例子,它不仅是手机铃声,更成为了摩托罗拉品牌的象征。音乐爱好者可能会收藏各种...

    文件与打开程序创建关联-VB程序示例.rar

    定义与程序打开的文件,创建一种关联,双击文件,即可使用相关的程序打开文件,类似于安装完某程序后,自动将相关文件的打开程序定义为自己,就好比现在好多的播放器软件,安装后,会关联MP3文件、MPEG或RMVB等。...

Global site tag (gtag.js) - Google Analytics