Connection con=null;
Statement stmt=null;
try{
Class.forName(DRIVER);
con=DriverManager.getConnection(URL,"sa","");
int bytesum=0;
int byteread=0;
FileOutputStream fs=new FileOutputStream( "c:\\bb.txt");
stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(
"select * from t_sectemp where t_sectemp.id=1 ");
while (rs.next()){
String id=rs.getString(1);
InputStream inStream=rs.getBinaryStream(2);
byte[] buffer =new byte[1444];
while ((byteread=inStream.read(buffer))!=-1)
{
out.println("<DT><B>"+byteread+"</B></DT>");
bytesum+=byteread;
System.out.println(bytesum);
fs.write(buffer,0,byteread);
}
我这样子写,为什么文件中得到都是些乱码阿
都是下面这种字
?驋@ h?扏 垻扏 諓@ p?婡 軖@
一点问题都没有
没有乱码啊:)<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="java.sql.*"%>
<%@ page import="java.lang.*" %>
<%@ page import="java.io.*" %>
<%@ page import="DBstep.iDBManager2000.*"%>
<%
int bytesum=0;
int byteread=0;
//打开数据库
ResultSet result=null;
String Sql=null;
PreparedStatement prestmt=null;
DBstep.iDBManager2000 DbaObj=new DBstep.iDBManager2000();
DbaObj.OpenConnection();
//取得数据库中的数据
Sql="select * from list order by date desc";
result=DbaObj.ExecuteQuery(Sql);
result.next();
//将数据库中的数据读到流中
InputStream inStream=result.getBinaryStream("body");
FileOutputStream fs=new FileOutputStream( "c:/bb.doc"); byte[] buffer =new byte[1444];
while ((byteread=inStream.read(buffer))!=-1)
{
out.println("<DT><B>"+byteread+"</B></DT>");
bytesum+=byteread;
System.out.println(bytesum);
fs.write(buffer,0,byteread);
}
%>
我想的得到具体的数值(float类型),4个字节为一个数,一共是361个数。
请问这个要怎么转换阿?
我的表结构 id(int),sectempdata(binary)
下面是我select 出来的结果id: 1
sectempdata:
0x9E168B44424289440C9689442E248944048886441E388C44F92C8A44B7078144FF1C8044DFDB81444157D4447ACCDA441CDACB449A5F6044FE137E4432997E44FE7A80441A2C834474A07244293E8A445C057044294784449D0C84441FAA8244C47778447E898044A08986448A0048440D3ACB44C7EDDA4406BCE3440871DC麻烦帮我测试一下,谢谢!!!
分数还可以再加的