请教各位大大,关于把word excel pdf 插入 clob字段的方法。在网上找到个存txt到clob的,放.doc .xls文件做参数,就出现乱码。麻烦各位大大帮忙看下
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page  import="java.sql.*,java.io.*,oracle.sql.CLOB"%>
<%@page import="com.logcd.common.OracleClob"%>
<%@page import="org.apache.commons.io.*" %><%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title>My JSP 'readDoc.jsp' starting page</title>
    
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->  </head>
  
  <body>
 <%!
   //yz_ncms_db.properties
private  String propFile = "/yz_sv_db.properties"; public Properties getPropertiesFiles()
{
    Properties prop = new Properties();
    try{
     System.out.println("loading properties file:"+this.propFile+"");
        prop.load(getClass().getResourceAsStream(propFile));
        System.out.println("loaded successly!");
    }
    catch(FileNotFoundException e){
        e.printStackTrace();
        System.out.println("properties file can not be found!");
    }
    catch(IOException e){
        e.printStackTrace();
    }
    return prop;
}

public Connection getConnection(){
     Connection conn=null;
     String driver = null;
     String url = null;
     String username = null;
     String password = null;
        String key = null;
        String value = null;    
    try
    {
        Properties prop = getPropertiesFiles();
        Set set = prop.keySet();
        for(Iterator it = set.iterator(); it.hasNext(); )
        {
            key = (String)it.next();
//             value = prop.getProperty(key);
            if(key.equals("jdbc.sqlserver.driver")){
             driver = prop.getProperty(key);
            }else if(key.equals("jdbc.sqlserver.url")){
             url = prop.getProperty(key);
            }else if(key.equals("jdbc.sqlserver.username")){
             username = prop.getProperty(key);
            }else if(key.equals("jdbc.sqlserver.password")){
             password = prop.getProperty(key);
            }
        }
        Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url,username,password); 

    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
    return conn;
}


/**
 * 将CLOB转换成字串
 * @param clob
 * @return
 */
public static String convertClobToString(CLOB clob) {
String reString = "";
try {
Reader is = clob.getCharacterStream();// 得到流
BufferedReader br = new BufferedReader(is);
String s = br.readLine();
StringBuffer sb = new StringBuffer();
while (s != null) {
sb.append(s);
sb.append("\n");
s = br.readLine();
}
reString = sb.toString().trim();
} catch(Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
return reString;
}
%>
<%

Connection con=null;
Statement stmt=null;
PreparedStatement ps=null;
ResultSet rs=null;
try{
con=getConnection();
con.setAutoCommit(false);

/*
插clob
File files = new File("E:\\down.xls");
out.println("<br>name:"+files.getName());
OracleClob oc=new OracleClob();
String data=oc.getFileContentAsString("E:\\down.xls",true);
out.println("<br>date:"+data);
String sql="insert into TB_DOC t VALUES(1,empty_clob(),?)";
ps=con.prepareStatement(sql);
ps.setString(1,files.getName());
if(ps.executeUpdate()==1){
String sqlUpd = "select CONTENT from TB_DOC t where ID = 1 for update";
stmt=con.createStatement();
rs=stmt.executeQuery(sqlUpd);
if (rs.next()) {
// 得到java.sql.Clob对象后强制转换为oracle.sql.CLOB
CLOB clob = (CLOB) rs.getClob("CONTENT");
Writer outStream = clob.setCharacterStream(0L);
// data是传入的字符串,定义:String data
char[] c = data.toCharArray();
outStream.write(c, 0, c.length); outStream.flush();
outStream.close();
}

}
*/


/*****************
*    读clob      *
****************/
String readCLob="select CONTENT from TB_DOC t where t.ID = 1";
System.out.println("readCLob:"+readCLob);
stmt=con.createStatement();
rs=stmt.executeQuery(readCLob);
//out.println(rs.next());
if (rs.next()) { CLOB clob = (CLOB) rs.getClob("CONTENT");
System.out.println("clob:"+clob);
//String result = convertClobToString(clob);
String result="";
try {
Reader is = clob.getCharacterStream();// 得到流
BufferedReader br = new BufferedReader(is);
String s = br.readLine();
StringBuffer sb = new StringBuffer();
while (s != null) {
sb.append(s);
sb.append("\n");
s = br.readLine();
}
result = sb.toString().trim();
} catch(Exception e) {
out.println(e.getMessage());
e.printStackTrace();
}



out.println("<br>result:"+result);
FileUtils.writeStringToFile(new File("E:\\ss.xls"),result,"utf-8");

}

}catch(Exception e){
con.rollback();
e.printStackTrace();
}finally{
if(con!=null)con.close();

}
 %>
  </body>
</html>