java io流输出问题
我用java的io流将内容输出到一个.doc文件里,最后再页面点击下载的时候输出保存,最后用word打开时提示选择编码,请问怎么去除这个提示,急,万分感谢!!!!!那我能...
我用java的io流将内容输出到一个.doc文件里,最后再页面点击下载的时候输出保存,最后用word打开时提示选择编码,请问怎么去除这个提示,急,万分感谢!!!!!
那我能不能将字符串转换成2进制 然后再写到文件里? 展开
那我能不能将字符串转换成2进制 然后再写到文件里? 展开
7个回答
展开全部
word文档不能直接用io流写的,起码也要用组件库itext之类的吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输入输出总是相对你的程序来说的,你要获取信息了,就要找一个inputstream输入到你的程序里,你要输出信息了,就建立一个outputstream输出信息.记住这一点就能以不变应万变,你会发现很多地方java都是这样设计的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你一个读和写文件的方法 可以将代码中的字符集换成变量,幷修改成前台传入的值
/**
* 读取txt文件 可设置流的 字符集
*
* @return list<String>
* @throws Exception
*/
public List<String> reader(String path, String charset) {
List<String> list = null;
try {
list = new ArrayList<String>();
InputStream is = new FileInputStream(path);
InputStreamReader isr = new InputStreamReader(is, charset);
BufferedReader br = new BufferedReader(isr);
while (br.ready()) {
String str = br.readLine();
list.add(str);
}
br.close();
isr.close();
is.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return list;
}
return list;
}
/**
* 重载 reader(String path,String charset)方法
*
* 根据 StringFliter(String str)方法 获取txt文件内容
*
* @param path
* @return
* @throws Exception
*/
public List<String> reader(String path) {
List<String> list = null;
try {
list = new ArrayList<String>();
list = reader(path, "utf-8");
} catch (Exception e) {
// TODO Auto-generated catch block
return list;
}
return list;
}
/**
* 写入txt文件
*
* @param str
* 要写入的内容
* @param path
* 文件位置
* @throws Exception
*/
public void writer(String str, String writePath) {
try {
OutputStream os = new FileOutputStream(writePath, true);
OutputStreamWriter osw = new OutputStreamWriter(os, "utf-8");
osw.write(str);
osw.close();
os.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 读取txt文件 可设置流的 字符集
*
* @return list<String>
* @throws Exception
*/
public List<String> reader(String path, String charset) {
List<String> list = null;
try {
list = new ArrayList<String>();
InputStream is = new FileInputStream(path);
InputStreamReader isr = new InputStreamReader(is, charset);
BufferedReader br = new BufferedReader(isr);
while (br.ready()) {
String str = br.readLine();
list.add(str);
}
br.close();
isr.close();
is.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return list;
}
return list;
}
/**
* 重载 reader(String path,String charset)方法
*
* 根据 StringFliter(String str)方法 获取txt文件内容
*
* @param path
* @return
* @throws Exception
*/
public List<String> reader(String path) {
List<String> list = null;
try {
list = new ArrayList<String>();
list = reader(path, "utf-8");
} catch (Exception e) {
// TODO Auto-generated catch block
return list;
}
return list;
}
/**
* 写入txt文件
*
* @param str
* 要写入的内容
* @param path
* 文件位置
* @throws Exception
*/
public void writer(String str, String writePath) {
try {
OutputStream os = new FileOutputStream(writePath, true);
OutputStreamWriter osw = new OutputStreamWriter(os, "utf-8");
osw.write(str);
osw.close();
os.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
doc不是普通文本,只有使用Word的API写入才有效,因为你文本打开也是经过word API函数打开的,写入必须按照读的规则来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
doc 是二进制文件,而txt是文本文件
估计你是直接把字符串那些内容写到文件里面,
你用记事本打开就可以了
你非要输入word那么我建议用这个开源的工具叫 jacob
你知道他的2进制是按什么顺序的吗?
估计你是直接把字符串那些内容写到文件里面,
你用记事本打开就可以了
你非要输入word那么我建议用这个开源的工具叫 jacob
你知道他的2进制是按什么顺序的吗?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以啊!
先用(int)字符串然后除2运算一下结构就是了!
初学不怎么懂,有用就用点 没用就扔了!
先用(int)字符串然后除2运算一下结构就是了!
初学不怎么懂,有用就用点 没用就扔了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询