
怎样把一个zip文件插入数据库,求完整的Java代码实现,急急急
展开全部
你没要读取的,我没写。用的MySQL数据库
DROP TABLE IF EXISTS `t_song_file`;
CREATE TABLE `t_song_file` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`file_name` varchar(50) DEFAULT NULL,
`file` blob,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
package com.song.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import com.song.dao.DBUtil;
public class InputStreamInDB {
public static void main(String[] args) throws Exception {
Connection conn=DBUtil.getConnection();
String sql="insert into t_song_file(file_name,file) values(?,?)";
PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(1, "hello.zip");
ps.setBlob(2, getFileInputStream("C:/Users/songjunliang/Desktop/hello.zip"));
int tag=ps.executeUpdate();
if(1==tag)
{
System.out.println("success");
}
ps.close();
conn.close();
}
public static InputStream getFileInputStream(String filePath) throws Exception
{
File file=new File(filePath);
InputStream is=new FileInputStream(file);
return is;
}
}
DROP TABLE IF EXISTS `t_song_file`;
CREATE TABLE `t_song_file` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`file_name` varchar(50) DEFAULT NULL,
`file` blob,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
package com.song.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import com.song.dao.DBUtil;
public class InputStreamInDB {
public static void main(String[] args) throws Exception {
Connection conn=DBUtil.getConnection();
String sql="insert into t_song_file(file_name,file) values(?,?)";
PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(1, "hello.zip");
ps.setBlob(2, getFileInputStream("C:/Users/songjunliang/Desktop/hello.zip"));
int tag=ps.executeUpdate();
if(1==tag)
{
System.out.println("success");
}
ps.close();
conn.close();
}
public static InputStream getFileInputStream(String filePath) throws Exception
{
File file=new File(filePath);
InputStream is=new FileInputStream(file);
return is;
}
}
展开全部
数据库只能存数据,你可以把文件保存在一个路径下数据库只存一个路径,如果真的把文件用字节方式存入数据库效率很低
更多追问追答
追问
我想以字节形式保存
追答
那就把文件读出来,最好用Base64进行编码后放进去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只保存路径
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |