老师,遇到一些问题了
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还没有更新,里面还有内容,我又把里面的内容,复制到了文件里,然后就报错了?
16
收起
正在回答
2回答
同学你好,1、老师测试代码是没有问题的,是可以正确添加的,如下图所示:
2、根据同学的报错信息,“com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。”应该是由于XML文件的编码格式造成的。
建议找到xml文件,然后右键xml文件,将xml文件用记事本打开,选择另存为,选择utf-8格式保存即可。
具体如下:
然后再尝试重新编译代码。
3、如果还存在问题,则建议同学重新创建项目与xml文件试一下。
祝学习愉快!
java工程师2020版
- 参与学习 人
- 提交作业 9404 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧