当前位置: 首页 > news >正文

合肥生态建设职业培训学校网站建设项目信息类网站

合肥生态建设职业培训学校网站,建设项目信息类网站,发布信息的平台有哪些,网站建设使用的技术特殊文件 我们利用这些特殊文件来存放我们 java 中的数据信息,当数据量比较大的时候,我们可以利用这个文件对数据进行快速的赋值 对于多个用户数据的存储的时候我们要用这个XML来进行存储 关于这些特殊文件,我们主要学什么 了解他们的特点&…

特殊文件

我们利用这些特殊文件来存放我们 java 中的数据信息,当数据量比较大的时候,我们可以利用这个文件对数据进行快速的赋值

image-20230809093854114

对于多个用户数据的存储的时候我们要用这个XML来进行存储

image-20230809094035375
关于这些特殊文件,我们主要学什么

  1. 了解他们的特点,作用
  2. 学习使用程序读取他们里面的数据
  3. 学习使用程序把数据存储到这些文件里

Properties属性文件

了解它们的特点、作用
学习使用程序读取它们里面的数据
学习使用程序把数据存储到这些文件里
image-20230809094756767

是一个Map集合(键值对集合),但是我们一般不会当集合使用。
核心作用:Properties是用来代表属性文件的,通过Properties可以读写属性文件里的内容。
使用Properties读取属性文件里的键值对数据

构造器说明
public Properties()用于构建 Properties 集合对象(空容器)

我们首先要通过这个文件的字节或者字符输入流来读取这个属性文件中的数据。

常用方法说明
public void load(InputStream is)通过字节输入流,读取属性文件里的键值对数据
public void load(Reader reader)通过字符输入流,读取属性文件里的键值对数据
public String getProperty(String key)根据键获取值(其实就是get方法的效果)
public Set<String> stringPropertyNames()获取全部键的集合(其实就是 ketSet 方法的效果)

其实它本质作用就是我们用来读取文件中的等号两边的元素
其本质是一个map集合
文件内容,好像中文格式不兼容?

admin=123456
张无忌=minmin
sadf=wuji
asfdaf=wuji
public static void main(String[] args) throws IOException {        // 创建这个特殊文件Properties pt = new Properties();System.out.println(pt); //输出为空pt.load(new FileReader("LearnJavaSE\\Learn\\src\\Metamorphosis\\day4\\SpecialFile\\p.properties"));System.out.println(pt);System.out.println(pt.getProperty("admin")); //根据键的值来读取数据.

常用方法说明
public Object setProperty(String key, String value)保存键值对数据到Properties对象中去。
public void store(OutputStream os, String comments)把键值对数据,通过字节输出流写出到属性文件里去
public void store(Writer w, String comments)把键值对数据,通过字符输出流写出到属性文件里去
属性文件并不是后缀是properties才是属性文件
只要满足键值对的书写格式,那么 txt 也是属性文件
	// 创建这个特殊文件Properties pt = new Properties();System.out.println(pt); // 输出为空pt.load(new FileReader("LearnJavaSE\\Learn\\src\\Metamorphosis\\day4\\SpecialFile\\test.txt"));System.out.println(pt);System.out.println(pt.getProperty("admin")); // 根据键的值来读取数据.

XML文件

本质是一种数据的格式,可以用来存储复杂的数据结构,和数据关系。
XML的特点

  1. XML中的“<标签名>” 称为一个标签或一个元素,一般是成对出现的。
  2. XML中的标签名可以自己定义(可扩展),但必须要正确的嵌套。
  3. XML中只能有一个根标签。
  4. XML中的标签可以有属性。
  5. 如果一个文件中放置的是XML格式的数据,这个文件就是XML文件,后缀一般要写成.xml。
    和HTML文件,惊人的类似

XML的创建

就是创建一个 XML 类型的文件,要求文件的后缀必须使用 xml,如 hello_world.xml, 这一点和这个 properties 文件不太一样,properties 只需要内容的格式满足条件就可以了, 其他的要求不高的
开头文件的格式必须这样写,必须放在第一行

<?xml version="1.0" encoding="UTF-8" ?>version:XML默认的版本号码、该属性是必须存在的encoding:本XML文件的编码

XML文件中的特殊符号

XML 中可以定义注释信息: 这个和这个 html 文件是一样的.
XML中书写”<”、“&”等,可能会出现冲突,导致报错,此时可以用如下特殊字符替代。

`	&lt;    <  小于&gt;    >  大于&amp;   &  和号&apos;  '  单引号&quot;  "  引号
XML中可以写一个叫CDATA的数据区: <![CDATA[   …内容…  ]]>,里面的内容可以随便写。**此时的小于号还有大于号就不用再用特殊符号了**
<?xml version="1.0" encoding="utf-8" ?>
<users><use id="1"><name>张无忌</name><sex></sex></use><use id="2"><name>任盈盈</name><sex></sex></use>
</users>

作用

本质是一种数据格式,可以存储复杂的数据结构,和数据关系。
应用场景:经常用来做为系统的配置文件;或者作为一种特殊的数据结构,在网络中进行传输。

image-20230809104711348

XML文件的解析

注意:程序员并不需要自己写原始的IO流代码来解析XML,难度较大!也相当繁琐!
其实,有很多开源的,好用的,解析XML的框架,最知名的是:Dom4j(第三方研发的)

image-20230809105351220

SAXReader:Dom4j 提供的解析器,可以认为是代表整个 Dom4j 框架

构造器/方法说明
public SAXReader()构建Dom4J的解析器对象
public Document read(String url)把XML文件读成Document对象
public Document read(InputStream is)通过字节输入流读取XML文件
使用方法
SAXReader sr = new SAXReader();
Document doc = sr.read("LearnJavaSE\\Learn\\src\\Metamorphosis\\day4\\SpecialFile\\xmlTest.xml");
Document doc2 = sr.read(new FileReader("LearnJavaSE\\Learn\\src\\Metamorphosis\\day4\\SpecialFile\\xmlTest.xml"));
方法名说明
Element getRootElement()获得根元素对象
获取根节点,根节点是这个 xml 分析的开始,任何 xml 分析工作都要从这个根开始
Element root = doc.getRootElement();  

注意这个文件名字不能有中文

解析的核心操作
方法名说明
public String getName()得到元素名字
public List<Element> elements()得到当前元素下所有子元素
public List<Element> elements(String name)得到当前元素下指定名字的子元素返回集合
public Element element(String name)得到当前元素下指定名字的子元素,如果有很多名字相同的返回第一个
public String attributeValue(String name)通过属性名直接得到属性值
public String elementText(子元素名)得到指定名称的子元素的文本
public String getText()得到文本

xml 的基本操作如下

<?xml version="1.0" encoding="utf-8" ?>
<users><use id="1"><name>张无忌</name><sex></sex></use><use id="2"><name>任盈盈</name><sex></sex></use>
</users>
        // 我们首先要读取这个xml文件SAXReader sr = new SAXReader();Document doc = sr.read("LearnJavaSE\\Learn\\src\\Metamorphosis\\day4\\SpecialFile\\xmlTest.xml");// Document doc2 = sr.read(new// FileReader("LearnJavaSE\\Learn\\src\\Metamorphosis\\day4\\SpecialFile\\xmlTest.xml"));Element root = doc.getRootElement();System.out.println(root.getName()); // 根节点名称List<Element> elements = root.elements();for (Element elements2 : elements) {System.out.println(elements2.getName()); // 根节点下的节点名,只能是一层,第二层的节点名比如说这个name和sex是无法读取的//根据属性名来获取这个id对象的值System.out.println(elements2.attributeValue("id"));// 获取这个use类中的名称为name的所有子元素,并返回集合,然后可以读取这个text文本了List<Element> elements3 = elements2.elements("name");for (Element elements32 : elements3) {System.out.println(elements32.getText());}

得到当前元素下指定名字的子元素,如果有很多名字相同的返回第一个

        Element people = rootElement.element("people");System.out.println(people.getText());

把程序中的数据写入到XML文件中

        StringBuilder sb = new StringBuilder();sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n");sb.append("<book>\r\n");sb.append("<name>").append("从入门到跑路").append("</name>\r\n");sb.append("<author>").append("dlei").append("</author>\r\n");sb.append("<name>").append("从入门到跑路").append("</name>\r\n");sb.append("</book>");BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("src/day5/newtest.xml"));bufferedWriter.write(sb.toString());bufferedWriter.close();

我们如果不用这个 dom4库来进行写,我们还可以通过这个 IO 流的读写方式来进行读写,但是没有必要,用别人封装好的就行,java 只需要 nb 就是因为这些别人封装好的库,这些库使得大多数的 java 操作变得简单了

约束XML文件的书写

顾名思义就是限制 XML 文件只能按照某种格式进行书写。
专门用来限制xml书写格式的文档,比如:限制标签、属性应该怎么写。

约束文档的分类

DTD文档
Schema文档

XML文档约束-DTD的使用(了解)

需求:利用DTD约束文档,约束一个XML文件的编写。
①:编写DTD约束文档,后缀必须是.dtd

<!ELEMENT 书架 (书+)>
<!ELEMENT 书 (书名,作者,售价)>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>
<!ELEMENT 售价 (#PCDATA)>

可以约束XML文件的编写
不能约束具体的数据类型
②:在需要编写的XML文件中导入该DTD约束文档
③:然后XML文件,就必须按照DTD约束文档指定的格式进行编写,否则报错!

<!ELEMENT 书架 (书+)>  //表示这个根元素是书架,然后根元素的子元素是书,+加号表示不止只有一个子元素
<!ELEMENT 书 (书名,作者,售价)>
<!ELEMENT 书名 (#PCDATA)>  //子元素的子元素
<!ELEMENT 作者 (#PCDATA)>
<!ELEMENT 售价 (#PCDATA)>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE 书架 SYSTEM "data.dtd">
<书架><><书名>从入门到删库</书名><作者>小猫</作者><售价>很便宜</售价></><><书名>从入门到删库</书名><作者>小猫</作者><售价>9.9</售价></><><书名>从入门到删库</书名><作者>小猫</作者><售价>9.9</售价></>
</书架>

XML文档约束-schema的使用(了解)

可以约束XML文件的编写、和数据类型
需求:利用schema文档约束,约束一个XML文件的编写。
①:编写schema约束文档,后缀必须是.xsd,具体的形式到代码中观看。
②:在需要编写的XML文件中导入该schema约束文档
③:按照约束内容编写XML文件的标签。

<?xml version="1.0" encoding="UTF-8" ?>
//xmln后面的网址表示这个xsd文档本身也是受到别人约束的
<schema xmlns="http://www.w3.org/2001/XMLSchema"targetNamespace="http://www.itcast.cn" elementFormDefault="qualified" >      //这个不用管,直接把这个复制到xsd文档开头就行了.<!-- targetNamespace:申明约束文档的地址(命名空间)--><element name='书架'><!-- 写子元素 --><complexType><!-- maxOccurs='unbounded': 书架下的子元素可以有任意多个!--><sequence maxOccurs='unbounded'><element name=''><!-- 写子元素 --><complexType><sequence><element name='书名' type='string'/><element name='作者' type='string'/><element name='售价' type='double'/></sequence></complexType></element></sequence></complexType></element>
</schema>
<?xml version="1.0" encoding="UTF-8" ?>
<书架 xmlns="http://www.itcast.cn"		//声明一个包名,和xsd的里面的那个targetNamespace中的内容一样xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://www.itcast.cn data.xsd"><!-- xmlns="http://www.itcast.cn"  基本位置xsi:schemaLocation="http://www.itcast.cn books02.xsd" 具体的位置 --><><书名>从入门到删除</书名><作者>dlei</作者><售价>9.9</售价></><><书名>从入门到删除</书名><作者>dlei</作者><售价>0.9</售价></>
</书架>
http://www.yayakq.cn/news/251739/

相关文章:

  • 帮企业做网站潍坊高端网站建设价格
  • 商丘做建设网站的公司查询icp备案跟接入的网站
  • 有手机网站了还要微网站吗长春广告设计公司
  • 开饰品店网站建设预算搜索推广开户
  • 建设视频网站要求小程序的推广方法
  • 扬州网站建设网站织梦系统做网站
  • 做网站源代码怎么下载天津建筑工程公司有哪些
  • 做直发网站有实力营销型网站建设
  • 上海人才网官网站首页正规微商平台
  • 网站开发项目具体的流程营销型网站内容
  • 网站建设公司不挣钱的原因安徽省工程建设信息网官方网站
  • 扬州市城市建设监察支队网站网叶制作
  • 郑州做网站比较专业的机构做泥网站
  • win8风格门户网站网站建设费用细项
  • 网站备案可以自己备案吗wordpress tags页面
  • 宿迁大型三合一网站开发重庆企业官网建站快速搭建
  • 株洲市网站建设宁波网站设计服务收费价格
  • 网站登陆模板中国建筑人才网是什么网站
  • 校园网站设计描述Wordpress做手机网页
  • 网站建设需要注意问题银行门户网站建设ppt
  • 上海万网网站建设WordPress360收录查询
  • 深圳龙岗做网站的网站建设和运行费用
  • seo网站外链平台开发商城网站建设
  • 做系统去哪网站下载镜像360建筑网官网下载
  • muse怎么做响应式网站用域名和主机做网站的详细过程
  • 江门网站建设方案报价wordpress侧栏导航
  • 免费网站哪个好口碑好的网站建设多少钱
  • 网站搭建入门网站主要的设计内容主题
  • 驰够网官方网站怎么创建网站详细流程
  • 做外贸网站赚钱吗用python做网页设计