为什么我不能把内容写入文件f.txt呢(文件里面是空的)?是在检查不出哪里出的问题。
程序如下:
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.SAXException;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class Filter
{
/**
 * @param node
 */
public void processNode(Node node)
{
if(node instanceof Text)
{
Text text = (Text) node;
String data = text.getData();
data=data.replace('\n', ' ');
System.out.print(data);
String s = new String();
s = data;
try
{
String outputurl = "C:\\f.doc"; 
File f = new File(outputurl);
FileWriter fw = new FileWriter(f);
BufferedWriter bwr = new BufferedWriter(fw); bwr.write(s);
bwr.close();
}
catch(IOException e)
{
System.out.println("IOException");
}
}
}
/*节点递归*/
public void followNode(Node node)
{
processNode(node);
if(node.hasChildNodes())
{
NodeList children = node.getChildNodes();
for(int i = 0; i<children.getLength(); i++)
{
followNode(children.item(i));
}
}
} public static void main(String[] args)
{
String url = "C://test_164.xml";
try
{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
     factory.setValidating(true);
     DocumentBuilder parser = factory.newDocumentBuilder();
     /**/
     factory.setExpandEntityReferences(false);
     /*读取document对象*/
     Document document = parser.parse(url);
     /*处理document*/
     Filter extractor = new Filter();
     extractor.followNode(document);
}
catch(SAXException e)
{
System.out.println(url + "不正确");
}
catch(IOException e)
{
System.out.println("解析器找不到" + url);
}catch(FactoryConfigurationError e)
{
System.out.println("不能定位factory类");
}
catch(ParserConfigurationException e)
{
System.out.println("找不到JAXP解析器");
}
}//end maim
}test_164.xml文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org" />
<title></title>
</head>
<body class="HomePage">
<!--ID:BMain BEGIN-->
<div class="titBar" style="margin-left: 2em">#titledesc</div><div class="txtBox">
<p><a href="http://www.wyu.cn/news/news_zxtz/20095119134481985.htm"
target="_blank">本次转换的网页来自于链接:
http://www.wyu.cn/news/news_zxtz/20095119134481985.htm</a></p><p style="TEXT-INDENT: 2em">关于招收部队士官的补充通知发布单位:保卫处
加入时间:2009年5月11日16:50</p><p style="TEXT-INDENT: 2em">各院、系:<?xml:namespace prefix = o ns =
"urn:schemas-microsoft-com:office:office" /?>
</p><p style="TEXT-INDENT: 2em"><?xml:namespace prefix = st1 ns =
"urn:schemas-microsoft-com:office:smarttags" /?>
2009年4月28日学校武装部发出的"关于招收部队士官工作的通知",就招收的专业、条件、工作进度和工作要求进行了部署。根据上级最新通知精神,今年招收士官的专业除4月28日通知中指定的"化学工程与工艺专业"、"电气工程及其自动化"专业之外,符合招收条件的下列专业的毕业生也可以报名。这些专业是:</p><p style="TEXT-INDENT: 2em">电子信息工程 计算机科学与技术</p><p style="TEXT-INDENT: 2em">机械工程及其自动化 计算机系统维护</p><p style="TEXT-INDENT: 2em">交通工程 软件工程</p><p style="TEXT-INDENT: 2em">通信工程 土木工程</p><p style="TEXT-INDENT: 2em">网络工程 信息管理与信息系统</p><p style="TEXT-INDENT: 2em">信息与计算科学 自动化</p><p style="TEXT-INDENT: 2em">欢迎上述专业的毕业生报名应招,报名截止时间:2009年5月31日。</p><p style="TEXT-INDENT: 2em">特此通知</p><p style="TEXT-INDENT: 2em">武 装 部</p><p style="TEXT-INDENT: 2em">二○○九年五月十一日</p><p style="TEXT-INDENT: 2em">新闻出处:五邑大学-新闻中心该新闻被校办编辑过附件下载:</p>
</div>
</body>
</html>

解决方案 »

  1.   

    之前打印String s = new String();有没值public  static void log(String info,String logfile)   //有换行的
        {   
        try   
        {   
        FileWriter pw=new FileWriter(logfile,true);     //实现append   
        pw.write(info);   
        pw.write("\r\n");  
     
        pw.close();   
        }   
        catch(Exception e)   
        {   
        System.out.println("log错误:"+e);   
        }   
        }