老师,遇到一些问题了
package com.imooc.plan;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Plan {
public void planReader() {
String file = "G:\\workspace\\Xml\\bin\\plan.xml";
SAXReader reader = new SAXReader();
try {
Document document = reader.read(file);
Element root = document.getRootElement();
List<Element> courses = root.elements("course");
for(Element course:courses) {
System.out.println(course.elementText("course-name"));
System.out.println(course.elementText("class-hour"));
System.out.println(course.elementText("exam-form"));
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void planWriter() {
String file = "G:\\workspace\\Xml\\bin\\plan.xml";
SAXReader reader = new SAXReader();
Document document;
try {
document = reader.read(file);
Element root = document.getRootElement();
Element course= root.addElement("course");
course.addAttribute("course-num", "003");
course.addElement("course-name").setText("哲学");
course.addElement("class-hour").setText("52");
course.addElement("exam-form").setText("考试");
Writer writer= new FileWriter(file);
document.write(writer);
writer.close();
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
Plan plan=new Plan();
plan.planReader();
plan.planWriter();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE teaching-plan SYSTEM "plan.dtd">
<teaching-plan>
<course course-num="001">
<course-name>大学英语</course-name>
<class-hour>36</class-hour>
<exam-form>考试</exam-form>
</course>
<course course-num="002">
<course-name>高等数学</course-name>
<class-hour>70</class-hour>
<exam-form>考试</exam-form>
</course>
<course course-num="003">
<course-name>计算机应用基础</course-name>
<class-hour>108</class-hour>
<exam-form>上机考试</exam-form>
</course>
</teaching-plan>
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版
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星