java用字节流将字符保存到文本文件中,结果开头会多几个字符,结尾多个0,为什么啊?
有人知道吗?response.setCharacterEncoding("UTF-8");response.setContentType(Util.getContentT...
有人知道吗?
response.setCharacterEncoding("UTF-8");
response.setContentType(Util.getContentType(fileName));
response.setHeader("Content-Disposition","attachment;filename="+ articleId+"."+downType);
fos = response.getOutputStream();
bos = new BufferedOutputStream(fos); 展开
response.setCharacterEncoding("UTF-8");
response.setContentType(Util.getContentType(fileName));
response.setHeader("Content-Disposition","attachment;filename="+ articleId+"."+downType);
fos = response.getOutputStream();
bos = new BufferedOutputStream(fos); 展开
4个回答
展开全部
我猜想你的代码有问题,给你一个我写的,你参考下:
import java.io.File ;
import java.io.OutputStream ;
import java.io.FileOutputStream ;
public class OutputStreamDemo02{
public static void main(String args[]) throws Exception{ // 异常抛出,不处理
// 第1步、使用File类找到一个文件
File f= new File("d:" + File.separator + "test.txt") ; // 声明File对象
// 第2步、通过子类实例化父类对象
OutputStream out = null ; // 准备好一个输出的对象
out = new FileOutputStream(f) ; // 通过对象多态性,进行实例化
// 第3步、进行写操作
String str = "Hello World!!!" ; // 准备一个字符串
byte b[] = str.getBytes() ; // 只能输出byte数组,所以将字符串变为byte数组
for(int i=0;i<b.length;i++){ // 采用循环方式写入
out.write(b[i]) ; // 每次只写入一个内容
}
// 第4步、关闭输出流
out.close() ; // 关闭输出流
}
};
import java.io.File ;
import java.io.OutputStream ;
import java.io.FileOutputStream ;
public class OutputStreamDemo02{
public static void main(String args[]) throws Exception{ // 异常抛出,不处理
// 第1步、使用File类找到一个文件
File f= new File("d:" + File.separator + "test.txt") ; // 声明File对象
// 第2步、通过子类实例化父类对象
OutputStream out = null ; // 准备好一个输出的对象
out = new FileOutputStream(f) ; // 通过对象多态性,进行实例化
// 第3步、进行写操作
String str = "Hello World!!!" ; // 准备一个字符串
byte b[] = str.getBytes() ; // 只能输出byte数组,所以将字符串变为byte数组
for(int i=0;i<b.length;i++){ // 采用循环方式写入
out.write(b[i]) ; // 每次只写入一个内容
}
// 第4步、关闭输出流
out.close() ; // 关闭输出流
}
};
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用字符流就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议用字符流 这样效率高些 也没有这么麻烦!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能把你的代码贴上来看下嘛
更多追问追答
追问
try {
fos = response.getOutputStream();
bos = new BufferedOutputStream(fos);
bos.write(("开头 "+article.getHeading()+"\r\n\r\n").getBytes());
String author=" 结尾"+"\r\n\r\n";
bos.write(author.getBytes());
bos.flush();
bos.close();
fos.close();
追答
你先把
fos = response.getOutputStream();
bos = new BufferedOutputStream(fos);
这两句话该成这个试一下,有可能是你fos的问题吧,我试了是没问题的
bos = new BufferedOutputStream(new FileOutputStream(new File("e:/t.txt")));
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询