今天小編為大家帶來的是java sqlserver text 類型字段讀取方法 ,這裡詳細的介紹了怎麼實現目標,希望能對大家有所幫助。
有這樣一個需求,需要將原本存儲在數據庫中的文檔轉存至文件系統中,於是寫了一個簡單的程序完成此功能,代碼如下:
Java代碼
代碼如下:
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import
java.io.IOException;
import java.sql.Connection;
import
java.sql.DriverManager;
import java.sql.PreparedStatement;
import
java.sql.ResultSet;
import org.dbunit.util.Base64;
public class ReadBlob
{
/**
* @param args
*/
public static void main(String[] args)
throws Exception {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(
"jdbc:sqlserver://localhost:1433;DatabaseName=test1", "sa",
"123456");
PreparedStatement ps = conn.prepareStatement("select * from aa");
ResultSet rs = ps.executeQuery();
while(rs.next()){
String fileName
= rs.getString("FileName");
String content = rs.getString("Content");
byte[] byte_content = Base64.decode(content);
generateFile(byte_content,
"D:\\doc", fileName);
}
conn.close();
}
/**
* 根據byte數組,生成文件
*/
public static void generateFile(byte[] bfile, String filePath,String
fileName) {
BufferedOutputStream bos = null;
FileOutputStream fos =
null;
File file = null;
try {
File dir = new File(filePath);
if(!dir.exists()&&dir.isDirectory()){
dir.mkdirs();
}
file = new File(filePath+"\\"+fileName);
fos = new
FileOutputStream(file);
bos = new BufferedOutputStream(fos);
bos.write(bfile);
} catch (Exception e) {
e.printStackTrace();
}
finally {
if (bos != null) {
try {
bos.close();
} catch
(IOException e1) {
e1.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
}
以上是給大家帶來java sqlserver text 類型字段讀取方法的內容,感謝大家繼續支持我們的51精品。