Java 如何在Word文档中的两个标记(<;hidden>;。<;/hidden>;)之间隐藏数据

Java 如何在Word文档中的两个标记(<;hidden>;。<;/hidden>;)之间隐藏数据,java,apache-poi,Java,Apache Poi,我能够使用ApachePOI读取输入文档,也能够找到标记之间的数据(要隐藏的内容),但问题是我无法将数据写入输出文件。如何编写数据并将其隐藏在输出生成的文件中 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.extractor.WordE

我能够使用ApachePOI读取输入文档,也能够找到标记之间的数据(要隐藏的内容),但问题是我无法将数据写入输出文件。如何编写数据并将其隐藏在输出生成的文件中

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.hwpf.HWPFDocument;
import  org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.hwpf.usermodel.CharacterRun;
import org.apache.poi.hwpf.usermodel.Range;


public class Hidden {
    public static void main(String args[]) throws Exception
    {
        File file = new File("D://me1.doc");
        FileInputStream fin = new FileInputStream(file);
        FileOutputStream fout = new FileOutputStream("D://Test.doc");
        HWPFDocument doc = new HWPFDocument(fin);
        Range range = doc.getRange();    
        WordExtractor extractor = new WordExtractor(doc);
        String para[] = extractor.getParagraphText();    
        String output="";
        String hidden="";
        for (String p : para) {
            String[] w = p.split("[<\\>]");             
            for(int k=0 ;k<w.length;k++){
                if(w[k]!=null && !"".equalsIgnoreCase(w[k])){
                    if("hidden".equalsIgnoreCase(w[k])){                            
                        k++;
                        CharacterRun  run = range.getCharacterRun(k);
                        hidden= w[k];
                        k++;                       
                        System.out.println(hidden);
                        run.setVanished(true);
                        doc.write(fout); 
                    }else{

                    }
                }
            } 
        }
        fout.close();
        fin.close();
    }
}
导入java.io.File;
导入java.io.FileInputStream;
导入java.io.FileOutputStream;
导入org.apache.poi.hwpf.hwpf文档;
导入org.apache.poi.hwpf.extractor.WordExtractor;
导入org.apache.poi.hwpf.usermodel.CharacterRun;
导入org.apache.poi.hwpf.usermodel.Range;
隐藏的公共类{
公共静态void main(字符串args[])引发异常
{
File File=新文件(“D://me1.doc”);
FileInputStream fin=新的FileInputStream(文件);
FileOutputStream fout=新的FileOutputStream(“D://Test.doc”);
HWPF文件文件=新的HWPF文件(fin);
Range Range=doc.getRange();
WordExtractor extractor=新的WordExtractor(doc);
字符串para[]=提取器.getParagraphText();
字符串输出=”;
字符串隐藏=”;
用于(字符串p:para){
字符串[]w=p.split([]);

对于(int k=0;kUse代码块的一致逻辑缩进。代码缩进的目的是帮助人们理解程序流程。@KrishnaKumar例如,请参阅我的编辑,缩进结束时,for循环、if语句等在何处结束是很清楚的used@AndrewThompson当前位置我是这个地区的新手,我会跟着你的guiding@RichardTingle:谢谢谢谢你的好意support@KrishnaKumar很高兴能帮上忙,我希望我也能帮你解决具体问题,但我还没有使用Apachi