老师,遇到一些问题了

老师,遇到一些问题了

1
package com.imooc.plan;<br><br>import java.io.FileOutputStream;<br>import java.io.FileWriter;<br>import java.io.OutputStreamWriter;<br>import java.io.Writer;<br>import java.util.List;<br><br>import org.dom4j.Document;<br>import org.dom4j.DocumentException;<br>import org.dom4j.Element;<br>import org.dom4j.io.SAXReader;<br><br>public class Plan {<br><br>  public void planReader() {<br>      String file = "G:\\workspace\\Xml\\bin\\plan.xml";<br><br>      SAXReader reader = new SAXReader();<br>     try {<br>           Document document = reader.read(file);<br>          Element root = document.getRootElement();<br>           List<Element> courses = root.elements("course");<br>          for(Element course:courses) {<br>               System.out.println(course.elementText("course-name"));<br>              System.out.println(course.elementText("class-hour"));<br>               System.out.println(course.elementText("exam-form"));<br>            }<br>       } catch (DocumentException e) {<br>         // TODO Auto-generated catch block<br>          e.printStackTrace();<br>        }<br>   }<br><br>   public void planWriter() {<br>      String file = "G:\\workspace\\Xml\\bin\\plan.xml";<br><br>          SAXReader reader = new SAXReader();<br>         Document document;<br>          try {<br>               document = reader.read(file);<br>               Element root = document.getRootElement();<br>               Element course= root.addElement("course");<br>              course.addAttribute("course-num", "003");<br>               course.addElement("course-name").setText("哲学");<br>             course.addElement("class-hour").setText("52");<br>              course.addElement("exam-form").setText("考试");<br>               Writer writer= new FileWriter(file);<br><br>                document.write(writer);<br>             writer.close();<br>         } catch (DocumentException e) {<br>             // TODO Auto-generated catch block<br>              e.printStackTrace();<br>            } catch (Exception e) {<br>             // TODO Auto-generated catch block<br>              e.printStackTrace();<br>            }<br><br><br>   }<br><br><br>   public static void main(String[] args) {<br>        Plan plan=new Plan();<br>       plan.planReader();<br>      plan.planWriter();<br>  }<br><br>}<br>
1
<?xml version="1.0" encoding="UTF-8"?><br><!DOCTYPE teaching-plan SYSTEM "plan.dtd"><br><teaching-plan><br>   <course course-num="001"><br>     <course-name>大学英语</course-name><br>     <class-hour>36</class-hour><br>     <exam-form>考试</exam-form><br>   </course><br> <course course-num="002"><br>     <course-name>高等数学</course-name><br>     <class-hour>70</class-hour><br>     <exam-form>考试</exam-form><br>   </course><br> <course course-num="003"><br>     <course-name>计算机应用基础</course-name><br>      <class-hour>108</class-hour><br>        <exam-form>上机考试</exam-form><br> </course><br></teaching-plan><br>

1---我写好读取方法后,就马上测试了,也能读取所有的信息了

2--我写好写入的方法后,写入发现文件里面的内容都没了,我哪里写错了?

3--发现文件里面没有后,因为eclipse还没有更新,里面还有内容,我又把里面的内容,复制到了文件里,然后就报错了?http://img1.sycdn.imooc.com//climg/606e793d0939d52422121119.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,1、老师测试代码是没有问题的,是可以正确添加的,如下图所示:

http://img1.sycdn.imooc.com//climg/606ebc360915d21b07780640.jpg

http://img1.sycdn.imooc.com//climg/606ebc88098b51ae17970609.jpg

2、根据同学的报错信息,“com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。”应该是由于XML文件的编码格式造成的。

建议找到xml文件,然后右键xml文件,将xml文件用记事本打开,选择另存为,选择utf-8格式保存即可。

具体如下:

http://img1.sycdn.imooc.com//climg/5df9a3fe099393a505970353.jpg

http://img1.sycdn.imooc.com//climg/5df9a3e5093e9f1902630255.jpg

http://img1.sycdn.imooc.com//climg/5df9a44209012d9808680146.jpg

然后再尝试重新编译代码。

3、如果还存在问题,则建议同学重新创建项目与xml文件试一下。

祝学习愉快!

阿山123 提问者 2021-04-08 11:53:30

http://img1.sycdn.imooc.com//climg/606e7d6b0977bef212760154.jpg

问题就是这个,不能用这个  ​Writer writer= new FileWriter(file); 写入,我昨天以为可以,第一次试成功了,今天前两天写入都是成功的,,但是第三次就报错了。。我也不知道为啥能成功前两次,第三次就失败了,但是确实不能用这个。。昨天看一个问答,上面这样写的,我也跟着写了,到现在才发现多次以后才有问题,真是误人啊!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码