使用java如何直接往word文件中写入内容最好有详细的介绍和源代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用java如何直接往word文件中写入内容最好有详细的介绍和源代码相关的知识,希望对你有一定的参考价值。

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
// 在当前路径(默认)创建3个非空.doc(当然也可以是.txt,.java…)文件
public class FileTest

//遇到异常抛给Java虚拟机处理
public static void main(String[] args)throws IOException

//i>-1,恒为true,创建无限文件,就成病毒了
for (int i = 0; i < 3; i++)

//指定要要输入内容的文件名name
String name = "a" + i + ".doc";
//定义一个节点输出流FilOutputStream
//通俗点:定义一个水管,水管通向name文件
FileOutputStream out = new FileOutputStream(name);
//使用PrintStream包装该节点流,使用PrintStream来输出字符串
//通俗点:给水管加个水龙头(PrintStream),这个水龙头具有放水功能(ps.print())
PrintStream ps = new PrintStream(out);
ps.print("我我我窝窝窝窝窝窝窝窝哦我");
ps.append("你");



一切尽在代码里!追问

谢谢你。写入我解决了。现在想问一下 怎么将一个已有的word文件在jsp页面中以word的方式打开

参考技术A 用流就可以啊,不过要设置好编码格式,否则写进去的全是乱码追问

使用jacob操作你了解吗?

追答

额 不熟,压根就没听说过

Java往TXT文件写入文字的问题

file4是通过以下代码创建的TXT: File file4 = new File("C:\\HappyNewYear\\HappyNewYear.txt");
代码重新发出如下:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入内容:\n");
try

FileWriter writer = new FileWriter(file4.toString());
while(!(in.readLine().equalsIgnoreCase("exit")))
String happyString = in.readLine();
System.out.println("您输入的内容是:\""+happyString+"\",正在存储中");
writer.write(happyString+"\n");

writer.flush();
writer.close();
catch (IOException e)
e.printStackTrace();

用java往文件里面写入文字可以用到java里面的I/O流来实现功能, 一般都是用FileWriter类来实现要求。具体的代码示例如下:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

/**
 * java读写文件
 * 读取d:/1.txt文件内容,写入f:/text.txt文件中.
 * 
 * 写入文件换行用fw.write("\\r\\n");
 * 或者fw.write("\\n");
 * @author young
 *
 */
public class FileWriterTest 
// 读写文件
public static void rwFile()
FileWriter fw = null;
BufferedReader br = null;
try 
    // 定义FileWriter对象,关联文件f:\\text.txt,用来向文件写内容
fw = new FileWriter("f:\\\\text.txt", true);
// 定义bufferedReader对象,用来读取d:\\1.txt文件内容
br = new BufferedReader(new InputStreamReader(
new FileInputStream("d:\\\\1.txt"), "UTF-8"));
String line = null;
// 每次读取一行内容,循环读取,读到文件末尾结束
while ((line = br.readLine()) != null) 
System.out.println("文件内容: " + line);
fw.write(line);
// 刷新缓冲流,
fw.flush();

// 关闭I/O流
br.close();
 catch (FileNotFoundException e) 
e.printStackTrace();
 catch (IOException e) 
e.printStackTrace();
 finally 
if (fw != null) 
try 
fw.close();
 catch (IOException e) 
// TODO Auto-generated catch block
e.printStackTrace();




public static void main(String[] args) 
rwFile();

参考技术A 代码如下:

File file4 = new File("FileTextCopy2.java");
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入内容:\n");
try
String happyString ;
BufferedWriter writer = new BufferedWriter(FileWriter(file4));
while(!(happyString=in.readLine()).equalsIgnoreCase("exit"))
System.out.println("您输入的内容是:\""+happyString+"\",正在存储中");
writer.write(happyString+"\n");
writer.flush();

writer.close();
catch (IOException e)
e.printStackTrace();


写入文件的时候最好也用带缓冲的方法,对提升程序效率有帮助。
如果希望马上看到写入的效果,就执行一下flush,强制将内容立即写入文件

”修改建议

回答含有复制内容
咦?您的答案和别的答案长的太像了,简直就是双胞胎,其实….分享自己的原创知识才是件最有性格的事,快去修改自己的回答吧。“

。。。原来的答案是对的,新的代码只是改进了缓冲写入和调用flush的位置
参考技术B File file4 = new File("FileTextCopy2.java");
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入内容:\\n");
try
    String happyString ;
    FileWriter writer = new FileWriter(file4);
    while(!(happyString=in.readLine()).equalsIgnoreCase("exit"))
        System.out.println("您输入的内容是:\\""+happyString+"\\",正在存储中");
        writer.write(happyString+"\\n");
    
    writer.flush();
    writer.close();
catch (IOException e)
    e.printStackTrace();


注意


追问

发现这两行还是要在whil循环里面才可以写进去。
writer.flush();writer.close();

本回答被提问者采纳
参考技术C package examples;

import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;

public class IOExample 
    public static void main(String[] args) 
        try(Scanner scanner = new Scanner(System.in);
            PrintWriter out = new PrintWriter("Happy.txt"))
            while(scanner.hasNextLine())
                String line = scanner.nextLine();
                if("exit".equalsIgnoreCase(line.trim())) break;
                   System.out.println("您输入的内容是:\\""+ line +"\\"正在存储中");
                out.println(line);
            
        catch(FileNotFoundException e)
            System.err.println(e.getMessage());
        
    

参考技术D JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。

以上是关于使用java如何直接往word文件中写入内容最好有详细的介绍和源代码的主要内容,如果未能解决你的问题,请参考以下文章

java中怎么实现读取word.doc文档分辨标题,文号,签发日期等信息

如何用JavaScript打开WORD写入文本

怎么通过JAVA往WORD的里写一张带数据表格?

Simple Java往文件中按行写入数据

Java 出力Excel 文件,并向该文件中写固定格式的日期。我往文件里写的是yyyy-mm-dd

如何用Java实现将word里的表格数据写入到excel中去