serlvet 如何将从数据库查询得出的数据 导出保存到TXT里? 请高手帮忙!! 本帖最后由 java2000_net 于 2008-08-04 20:51:08 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果已经得到了数据,那往txt里写入,用流还不行么。。 楼上的zhangkai08111 ,可否详细点?? import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; File dirFile = new File("c:\\aaaa"); if(!dirFile.exists()){ dirFile.mkdirs(); } //查找文件,如果不存在,就创建 File file = new File("c:\\aaaa\\"+"AAA.txt"); if(!file.exists()){ try { file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } PrintWriter out=null; try { out = new PrintWriter(new BufferedWriter(new FileWriter("c:\\aaaa\\"+"AAA.txt"))); // 将数据写入文件 out.write("aaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); //关闭流 out.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }把这个试一下,你就知道怎么做了 现在你得到里面的数据了,那再写入到txt应该不难吧。。FileOutputStream fos = new FileOutputStream("E:/123.txt");用FileOutputStream的write方法,往里写不就行了么。 //写文件 public static void writeFile(String txtContent,String txtName){ //System.out.println(txtName); //创建文件 File f = new File(txtName); try{ //新创建 f.createNewFile(); //使用文件流读入并写文件 BufferedWriter output = new BufferedWriter(new FileWriter(f)); output.write(txtContent); output.close();//关闭流 }catch(Exception e){ e.printStackTrace(); } }这个方法第一个参数是要写的文本内容第二个参数是文件全路径别的自己调整一下就OK了 建议楼主看JAVA基础,文件操作. try { OutputStream os = response.getOutputStream();//取得输出流 response.reset();// 清空输出流 response.setHeader("Content-disposition", "attachment;filename="+e_ePo+".xls");// 设定输出文件头 response.setContentType("text/plain; charset=gb2312"); //定义输出类型,为txt文件。这里我该怎么去取 os 的内容,并把它写到 文本文件里?请会的兄弟,给出代码,楼上的几位兄弟给出的方法,我还是每搞懂~~俺JAVA 是很烂的。} os.close(); }catch(Exception e) { e.printStackTrace(); } } import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class ReadFile { public static void main(String args[]) { Ex1 aa=new Ex1(); File file=new File("D:/ioExample/streamFile.txt"); try { BufferedReader r=new BufferedReader(new FileReader(file)); try { String value=""; while(value!=null) { value=r.readLine(); if(value!=null) { System.out.println(value); } } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (FileNotFoundException e) { e.printStackTrace(); } }} zhangkai08111 你好,我是从数据库中读出数据,用户在客户端 点击“下载”按钮导出数据,生成txt文件,不是直接将文件写到盘符下。请问如何取输出流,并将其写到 TXT文件里?try { OutputStream os = response.getOutputStream();//取得输出流 response.reset();// 清空输出流 response.setHeader("Content-disposition", "attachment;filename="+e_ePo+".xls");// 设定输出文件头 response.setContentType("text/plain; charset=gb2312"); //定义输出类型,为txt文件。 这里我该怎么去取 os 的内容,并把它写到 文本文件里? } os.close(); }catch(Exception e) { e.printStackTrace(); } } import java.io.BufferedOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;import java.io.OutputStream; public class WriteFile { static FromKeybroad fk=new FromKeybroad(); static String s=fk.FromKey(); public static void main(String args[]) { File fileDirectory=new File("D:/ioExample");//首先定义一个文件夹文件对象 if(!fileDirectory.exists())//判断是否存在如果不存在就去创建 { fileDirectory.mkdirs(); } File streamFile=new File(fileDirectory,"streamFile.txt");//定义一个存放字节流数据的文件 if(!streamFile.exists())//判断是否存在如果不存在就去创建 { try { streamFile.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } try { OutputStream output=new BufferedOutputStream(new FileOutputStream(streamFile));//生成一个代有缓冲区的文件输出流 byte data[]=s.getBytes();//将字符串数据转换称字节数据因为咱们生成的是字节输出流 try { output.write(data);//写数据 System.out.println("数据写入....."); } catch (IOException e) { e.printStackTrace(); } finally { try { output.close();//关闭流 System.out.println("关闭流"); } catch (IOException e) { e.printStackTrace(); } } } catch (FileNotFoundException e) { e.printStackTrace(); } System.out.print("数据成功写入文件,完整路径为:"+streamFile); } } 请文 dongqdonglin ,static FromKeybroad fk=new FromKeybroad(); static String s=fk.FromKey();其中 FromKeybroad 报错,它是哪里来的 ?我要是不是吧 txt文件写到 盘符下,而是利用:response.setHeader("Content-disposition", "attachment;filename="+e_ePo+".txt) response.setContentType("text/plain; charset=gb2312"); //定义输出类型 让用户下载 到客户端,在申明一次,不是直接写入磁盘,是让用户在客户端下载txt文件。 ServletOutputStream out = response() .getOutputStream(); response().setContentType("application/txt"); appContext.getResponse().setHeader("Content-disposition", "attachment; " + "filename=temp.txt"); BufferedInputStream bis = null; BufferedOutputStream bos = null; try { FileInputStream fin = new FileInputStream( fileName); bis = new BufferedInputStream(fin); bos = new BufferedOutputStream(out); byte buff[] = new byte[1024]; int bytesRead; while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) bos.write(buff, 0, bytesRead); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (bis != null) bis.close(); if (bos != null) bos.close(); } } appContext.getResponse()换成response以前项目封装了一层 简单的流读写操作就可以,比EXL简单多了 使用hibernate.sessionfactory时插入多条语句时,直插入了最后一天语句,前面的都被覆盖了。怎么回事? spring中集成struts出错,帮忙看看 hibernate 多对一 如果这个字段空的话会出错 新手问题 页面刷新时这个onsubmit会触发吗? ****求免费论坛系统**** 问个简单问题,请大家帮忙!! 还是关于applet和servlet通信的问题!高手看过来! 菜鸟需要帮助DBUtil Statement stmt=null的作用是什么? javascript可以 提交jsf 吗? 如何把一个CLASS编译文件打包成ActiveX控件
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
File dirFile = new File("c:\\aaaa");
if(!dirFile.exists()){
dirFile.mkdirs();
}
//查找文件,如果不存在,就创建
File file = new File("c:\\aaaa\\"+"AAA.txt");
if(!file.exists()){
try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
PrintWriter out=null;
try {
out = new PrintWriter(new BufferedWriter(new FileWriter("c:\\aaaa\\"+"AAA.txt")));
// 将数据写入文件
out.write("aaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
//关闭流
out.close(); } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }把这个试一下,你就知道怎么做了
FileOutputStream fos = new FileOutputStream("E:/123.txt");
用FileOutputStream的write方法,往里写不就行了么。
public static void writeFile(String txtContent,String txtName){
//System.out.println(txtName);
//创建文件
File f = new File(txtName);
try{
//新创建
f.createNewFile();
//使用文件流读入并写文件
BufferedWriter output = new BufferedWriter(new FileWriter(f));
output.write(txtContent);
output.close();//关闭流
}catch(Exception e){
e.printStackTrace();
}
}
这个方法第一个参数是要写的文本内容
第二个参数是文件全路径
别的自己调整一下就OK了
try
{
OutputStream os = response.getOutputStream();//取得输出流
response.reset();// 清空输出流
response.setHeader("Content-disposition", "attachment;filename="+e_ePo+".xls");// 设定输出文件头
response.setContentType("text/plain; charset=gb2312"); //定义输出类型,为txt文件。这里我该怎么去取 os 的内容,并把它写到 文本文件里?请会的兄弟,给出代码,楼上的几位兄弟给出的方法,我还是每搞懂~~
俺JAVA 是很烂的。
} os.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class ReadFile {
public static void main(String args[])
{
Ex1 aa=new Ex1();
File file=new File("D:/ioExample/streamFile.txt");
try
{
BufferedReader r=new BufferedReader(new FileReader(file));
try
{
String value="";
while(value!=null)
{
value=r.readLine();
if(value!=null)
{
System.out.println(value);
}
}
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
}
{
OutputStream os = response.getOutputStream();//取得输出流
response.reset();// 清空输出流
response.setHeader("Content-disposition", "attachment;filename="+e_ePo+".xls");// 设定输出文件头
response.setContentType("text/plain; charset=gb2312"); //定义输出类型,为txt文件。 这里我该怎么去取 os 的内容,并把它写到 文本文件里?
} os.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream; public class WriteFile
{
static FromKeybroad fk=new FromKeybroad();
static String s=fk.FromKey();
public static void main(String args[])
{
File fileDirectory=new File("D:/ioExample");//首先定义一个文件夹文件对象
if(!fileDirectory.exists())//判断是否存在如果不存在就去创建
{
fileDirectory.mkdirs();
}
File streamFile=new File(fileDirectory,"streamFile.txt");//定义一个存放字节流数据的文件
if(!streamFile.exists())//判断是否存在如果不存在就去创建
{
try
{
streamFile.createNewFile();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try
{
OutputStream output=new BufferedOutputStream(new FileOutputStream(streamFile));//生成一个代有缓冲区的文件输出流
byte data[]=s.getBytes();//将字符串数据转换称字节数据因为咱们生成的是字节输出流
try
{
output.write(data);//写数据
System.out.println("数据写入.....");
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
output.close();//关闭流
System.out.println("关闭流");
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
System.out.print("数据成功写入文件,完整路径为:"+streamFile);
}
}
请文 dongqdonglin ,
static FromKeybroad fk=new FromKeybroad();
static String s=fk.FromKey();其中 FromKeybroad 报错,它是哪里来的 ?
我要是不是吧 txt文件写到 盘符下,而是利用:
response.setHeader("Content-disposition", "attachment;filename="+e_ePo+".txt)
response.setContentType("text/plain; charset=gb2312"); //定义输出类型 让用户下载 到客户端,在申明一次,不是直接写入磁盘,是让用户在客户端下载txt文件。
.getOutputStream();
response().setContentType("application/txt");
appContext.getResponse().setHeader("Content-disposition",
"attachment; " + "filename=temp.txt"); BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
FileInputStream fin = new FileInputStream(
fileName);
bis = new BufferedInputStream(fin);
bos = new BufferedOutputStream(out);
byte buff[] = new byte[1024];
int bytesRead;
while (-1 != (bytesRead = bis.read(buff, 0, buff.length)))
bos.write(buff, 0, bytesRead);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bis != null)
bis.close();
if (bos != null)
bos.close();
}
}
以前项目封装了一层