* @param file
* @param conn
*/
public void getBinary(String file, Connection conn) {
// 注意二进制文件从数据库中读取时所用到的类,以及类的包装转换过程
try {
PreparedStatement ps = conn
.prepareStatement("select text from bankVoice where name=?");
ps.setString(1, file);
Blob blob = null;
ResultSet rs = ps.executeQuery();
if (rs.next()) {
blob = (Blob) rs.getBlob("text");
}
FileOutputStream fos = new FileOutputStream("D:test1.mp3");
fos.write(blob.getBytes(1, (int) blob.length()));
System.out.println("二进制文件获得成功");
ps.clearParameters();
ps.close();
fos.close();
} catch (Exception e) {
e.printStackTrace();
System.out.println("二进制文件读取时出现异常");
}
}
package SaveBinaryToDB;
/**
* 本程序的功能实现网络下载
* 把指定url的文件下载到本地硬盘
*
*/
import java.io.*;
import java.net.*;
/**
* @todo 将网上获取的图像,mp3等文件存储到本地
*
* @version 1.0
*/
public class DownLoadWithUrl {
public static File downLoadFile(String fromUrl) {
URL url;
File file = null;
try {
// url = new
// URL("http://count.koubei.com/showphone/showphone.php?f=jpg&w=96&h=10&bc=255,255,255&fc=0,0,0&fs=10&fn=arial&phone=NzMwNzIyNTE1%236aWCXtTNZYkxASrj");
url = new URL(fromUrl);
URLConnection uc = url.openConnection();
InputStream is = uc.getInputStream();
// 根据下载文件类型的不同,进行相应的文件命名
file = new File("D:forever.mp3");
FileOutputStream out = new FileOutputStream(file);
/*
* 该注释内的也是一种写入文件的方法,不过通常下载mp3或者比mp3更小图片
* 等这些文件用这种带缓冲的方法写文件比较慢,所以说小文件下载通常用下面 的写文件方法就可以了 // byte[] b = new
* byte[102400*3]; // int size = 0; // // while ((size = is.read(b)) !=
* -1) { // out.write(b, 1, size); // // }
*/
int i = 0;
while ((i = is.read()) != -1) {
out.write(i);
}
out.flush();
is.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return file;
}
/**
* 删除本地磁盘指定路径的文件 create date:2009-5-13 author:Administrator
*
* @param file
*/
public static void delFile(String file) {
File f = new File(file);
if (f.exists())
f.delete();
System.out.println(file + "已经被删除");
}
public static void main(String[] args) {
// delFile("D:forever.mp3");
downLoadFile("");
}
}
您可能感兴趣的文章:
MySQL中TEXT与BLOB字段类型的区别与MSSQL对比学习MYSQL的心得(四)--BLOB数据类型Mysql的longblob字段插入数据问题解决什么是blob,mysql blob大小配置介绍Mysql LONGBLOB 类型存储二进制数据 (修改+调试+整理)PHP使用PDO从mysql读取大量数据处理详解mysql中blob数据处理方式