楼主指的是保存到word文档还是其他格式的文档,如果是word文档的话,有很多开源的插件可以做到。如果是一些普通格式的文档,直接用输出流的方式就可以解决了
谢谢您,如果是txt文档,那就怎么用输入输出流写,帮帮忙????
@疯狂的笑自己1:
/**
* 写文件
*
* @Title: writeToFile
* @Description:
* @param
* @return void
* @throws
*/
@Test
public void writeToFile() {
File file = new File("E:/1.txt");
//要写入文件的内容
String inputContent = "这是一个测试!!";
OutputStreamWriter write = null;
BufferedWriter writer = null;
try {
//若磁盘上的文件不存在,则新建一个
if (!file.exists()) {
file.createNewFile();
}
//需要设置编码,否则中文会乱码
write = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
//提高效率,将文件放入缓冲区
write.flush();
writer = new BufferedWriter(write);
writer.write(inputContent);
writer.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
//一定要记得关闭write
write.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 读文件
* @Title: readFromFile
* @Description:
* @param
* @return void
* @throws
*/
@Test
public void readFromFile() {
//得到的内容
String outputContent = "";
InputStreamReader read = null;
BufferedReader reader = null;
try {
//文件
File file = new File("E:/1.txt");
//当文件存在并且是一个文件类型时,继续操作
if (file.exists() && file.isFile()) {
//注意定义编码,不然中文会出错哦
read = new InputStreamReader(new FileInputStream(file), "UTF-8");
reader = new BufferedReader(read);
int readChar = 0;
//一次读取一个字符,直到没有为止
while ((readChar = reader.read()) != -1) {
outputContent += (char)readChar;
}
System.out.println(outputContent);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
//记得关闭流
read.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Marcos.W: 谢谢!!!
直接用commons-io包,里面FileUtils类能够满足我们日常开发的绝大部分要求
保存文件只需要调用write系列方法如write(File file, CharSequence data)
writeStringToFile(File file, String data, Charset encoding)
都能满足要求
api参见http://commons.apache.org/proper/commons-io/javadocs/api-2.4/org/apache/commons/io/FileUtils.html
谢谢您 !!!