日期:2014-05-18  浏览次数:20742 次

查询的结果写入规定格式的文本文件里?
有张数据库表
编号                 大类             数量             单价                 总价    
1001                 数码类           2                 2500                 5000
1001001           数码A类         1                 2600                 2600
2010                 数码类           1                 9000                 9000
3220                 配件类           2                 200                   400

怎么用jsp查询后写入文本文件后保存在c盘里。
说明:在数据库表的第一列数据必须在文本的8个空格范围内,其余的数据间必须要5个空格分开。
写入的的效果是:
1001         数码类           2           2500           5000
1001001   数码A类           1           2600           2600
2010         数码类           1           9000           9000
3220         配件类           2           200           400



------解决方案--------------------
public void writeDbToFile()
{File file = new File( "C:\\data.txt ");
FileOutStream fos = new FileOutputStream(file );
while(rs.next())
{
String strspace = " ";
String key1 = rs.getString( "key1 ");
while(key1.length < 8)
{
key1 = key1 + " ";
}
String key2 = rs.getString( "key2 ") + strspace;
String key3 = rs.getString( "key3 ") + strspace;
String key4 = rs.getString( "key4 ") + strspace;
String key5 = rs.getString( "key5 ") + strspace + "\r\n ";
String record = key1 + key2 + key3 + key4 + key5;
fos.write(record.getBytes( "ISO-8859-1 "));

}
fos.flush();
fos.close();
}
////////////////////////////////////////////////////////////////////
随便写了一下,肯定都是毛病,我也没测试,包括是否能编译通过,里面的String 应该用StringBuffer来代替,我不知道这样写行不行,也没写try{}catch(){}
大体的思想就是把数据读出来转成字节,楼住参考一下就行了,错了别骂我
------解决方案--------------------
这句FileOutStream fos = new FileOutputStream(file );
改成FileOutStream fos = new FileOutputStream(file,true );

试试看
------解决方案--------------------
我改了一下:
public void writeDbToFile()
{ java.io.File file = new java.io.File( "C:\\ ", "data.txt ");
file.createNewFile();
FileWriter FW=new FileWriter(file);


while(rs.next())
{
String strspace = " ";
String key1 = rs.getString( "key1 ");
while(key1.length &l