About me [my way]
拱特土寄为什么要用这些特殊文件存储多个用户的用户名、密码Rropertiesimage是一个Map集合(键值对集合)但是我们一般不会当集合使用。核心作用Properties是用来代表属性文件的通过Properties可以读写属性文件里的内容。使用Properties读取属性文件的键值对数据image案例users.properties内容如下:admin123456赵敏wuji张无忌zhaomin灰太狼xiyangyang测试文件//目标Properties读取属性文件中的键值对数据public class PropertiesDemo01 {public static void main(String[] args) throws Exception {//1.创建属性集对象代表一个属性文件Properties prop new Properties();//2. 加载属性文件信息到属性集对象中去prop.load(new FileReader(day11-special-file-log-code\\src\\com\\javabase\\d1_properties\\users.properties));System.out.println(prop);//根据键取值System.out.println(prop.getProperty(admin));Set keys prop.stringPropertyNames();for (String key : keys) {String value prop.getProperty(key);System.out.println(key value);}//3.遍历数据prop.forEach((k,v)- System.out.println(k v));}}使用Properties把键值对数据写出到属性文件里去image案例//目标Properties写入属性文件中的键值对数据public class PropertiesDemo02 {public static void main(String[] args) throws Exception {//1. 创建属性集对象Properties prop new Properties();prop.setProperty(玄冥二老, wangfei);prop.setProperty(tom, jay);prop.setProperty(金毛狮王, 成昆);System.out.println(prop);//2. 存储文件prop.store(new FileWriter(day11-special-file-log-code\\src\\com\\javabase\\d1_properties\\users1.properties),lots of users);}}案例把文件中某个键值对中的值修改改完后重新写回文件people.txt文件内容如下张三45张全蛋24李二狗24李四23李芳35王麻子13测试文件public class PropertiesTest {public static void main(String[] args) throws Exception {//1.创建Properties对象Properties prop new Properties();//2.加载文件prop.load(new FileReader(day11-special-file-log-code\\src\\com\\javabase\\d1_properties\\people.txt));//3.判断是否存在“李芳”if(prop.containsKey(李芳)){prop.setProperty(李芳, Integer.toString(18));}//4. 把属性文件对象重新存入到属性文件中去prop.store(new FileWriter(day11-special-file-log-code\\src\\com\\javabase\\d1_properties\\people.txt), );}}XML(全称EXtensible Markup Language可拓展标记语言)本质是一种数据的格式可以用来存储复杂的数据结构和数据关系。XML的特点XML中的标签名称为一个标签或一个元素一般是成对出现的。XML中的标签名可以自己定义(可拓展)但必须要正确的嵌套。XML中只能有一个根标签。XML中的标签可以有属性。如果一个文件中放置的是XML格式的数据这个文件就是XML文件后缀一般要写成.xml。XML的创建就是创建一个XML类型的文件要求文件的后缀必须使用xml如hello_world.xml。imageXML语法规则XML文件的后缀名为xml文档声明必须是第一行。imageXML中可以定义注释信息XML中书写、等可能会出现冲突导致报错因此可以用如下热熟字符代替。imageXML中可以写一个叫CDATA的数据区里面的内容可以随便写。XML的作用和应用场景本质是一种数据格式可以存储复杂的数据结构和数据关系。应用场景经常用来作为系统的配置文件或者作为一种特殊的数据结构在网络中进行传输。案例张全蛋32男炸机select * from tb_student where age 18 age 35何广智28男脱口秀select * from tb_student where age 18 age 35]]解析XML文件使用程序读取XML文件中的数据注意程序员并不需要自己写原始的IO流代码来解析XML难度较大也相当繁琐。其实有很多开源的好用的解析XML的框架最知名的是dom4j(第三方研发的)使用Dom4J解析出XML文件需求使用Dom4J把一个XML文件的数据进行解析分析下载Dom4J框架官网下载。地址https://dom4j.github.io/在项目中创建一个文件夹lib将dom4j-2.1.3.jar文件复制到lib文件夹在jar文件上点右键选择Add as Library-点击OK。在类中导包使用DOM4J解析XML文件的思想文档对象模型imageDom4j解析XML-得到Document对象SAXReaderDom4j提供的解析器可以认为是代表整个Dom4j框架imageDocumentimageElement提供的方法image案例XML文件Contact.xml潘金莲 女 panpanitcast.cn 武松 男 wusongitcast.cn 武大郎 男 kuzhuitcast.cn 武大郎测试// 目标解析XML文件使用Dom4j框架public class Dom4jTest01 {public static void main(String[] args) throws Exception {//1. 创建SAXReader解析器对象SAXReader saxReader new SAXReader();//2. 把xml文件读成一个Document文档对象。Document doc saxReader.read(day11-special-file-log-code\\src\\Contact.xml);// 3. 文档对象中包含了XML的全部数据提供了方法获取数据Element rootElement doc.getRootElement();System.out.println(rootElement.getName());//4. 提取子元素对象// List soneles rootElement.elements();List soneles rootElement.elements(contact);for (Element sonele : soneles) {System.out.println(sonele.getName());}// 指定获取单个子元素对象Element userEle rootElement.element(user);System.out.println(userEle.elementText(name));Element contactEle rootElement.element(contact);//默认取第一个contactSystem.out.println(contactEle.elementText(name));// 5. 提取子元素的属性对象Attribute idAttr contactEle.attribute(id);System.out.println(idAttr.getName());System.out.println(idAttr.getValue());//直接拿属性值System.out.println(contactEle.attributeValue(id));//6. 文本值// 通过父元素拿到子元素文本值System.out.println(contactEle.elementText(name));System.out.println(contactEle.elementTextTrim(name));//去除内容两边的空}}输出结果contactListcontactcontactcontact武大郎潘金莲id11潘金莲潘金莲案例XML解析案例需求利用Dom4j框架将contact.xml文件中的联系人数据解析出来封装成list集合并遍历输出。Contacts.xml文件张无忌男wujiitcast.cn小昭女xiaozhaoitcast.cn灭绝师太女miejueitcast.cnContact类DataAllArgsConstructorNoArgsConstructorpublic class Contact {private String name;private int id;private String email;private char gender;}测试代码//目标解析XML文件使用dom4框架public class Dom4JTest02 {public static void main(String[] args) throws Exception {//1. 创建一个saxReader对象SAXReader saxReader new SAXReader();//2. 把xml文件读成一个document对象Document doc saxReader.read(day11-special-file-log-code\\src\\Contacts.xml);//3. 文档中包含了XML的全部数据提供了方法获取数据Element rootElement doc.getRootElement();//4. 准备一个联系人集合存储联系人对象List names new ArrayList();//5. 提取全部全部一级联系人对象List sonEles rootElement.elements(contact);//6. 遍历每个元素对象for (Element sonEle : sonEles) {//7.每个元素是一个联系人对象创建联系人对象封装数据。Contact contact new Contact();// 注入数据contact.setId(Integer.valueOf(sonEle.attributeValue(id)));contact.setName(sonEle.elementTextTrim(name));contact.setEmail(sonEle.elementTextTrim(email));contact.setGender(sonEle.elementTextTrim(gender).charAt(0));//8. 把联系人对象存入集合中names.add(contact);}System.out.println(names);}}如何使用程序吧数据写出到xml文件中去不建议使用都dom4j做推荐直接把程序里的数据拼接成xml格式然后用IO流写出去。案例//目标写一个xml的数据出去public class Dom4JTest03 {public static void main(String[] args) throws Exception {StringBuilder sb new StringBuilder();sb.append(\r\n);sb.append(\r\n);sb.append().append(张无忌).append(\r\n);sb.append().append(男).append(\r\n);sb.append().append(wujiitcast.cn).append(\r\n);sb.append(\r\n);PrintStream out new PrintStream(day11-special-file-log-code\\src\\Contacts1.xml);out.println(sb);out.close();}}约束XML文件的书写就是限制XML文件只能按照某种格式进行书写。约束文档专门用来限制XML书写格式的文档比如限制标签、属性应该怎么写。约束文档的分类DTD文档Schema文档案例XML文档约束-DTD的使用(了解)需求利用DTD约束文档约束一个XML文件的编写。编写DTD约束文档后缀必须是.dtdimage在需要编写的XML文件中导入该DTD约束文档然后XML文件就必须按照DTD约束文档指定的格式进行编写否则报错。注意DTD可以约束XML文件的编写不能约束具体的数据类型。XML文档约束-schema的使用(了解)需求利用schema文档约束约束一个xml文件的编写。image编写schema约束文档后缀必须是.xsd具体的形式到代码中查看。在需要编写的xml文档中导入该schema约束文档。按照约束内容编写xml文件的标签。日志技术什么是日志希望系统能记住某些数据是被谁操作的比如被删除了。想分析用户浏览系统的具体情况以便挖掘用户的具体喜好。当系统在开发中或者上线后出现了bug崩溃了该通过什么去分析、定位问题。目前记录日志的方法image输出语句的弊端日志会展示在控制台不能更方便的将日志记录到其他的位置(文件数据库)想取消日志需要修改源代码才可以完成日志技术可以将系统执行的信息方便的记录到指定的位置(控制台、文件中、数据库中)可以随时以开关的形式控制日志的启停无需侵入到源代码中去修改。日志技术的体系结构image日志框架牛人或者第三方公司已经做好的实现代码后来者直接可以拿来使用。日志接口设计日志框架的一套标准日志框架需要实现这些接口。image注意因为对Commons Logging接口不满意有人就搞了SLF4J。因为对log4j的性能不满意有人就搞了logback。Logback是基于slf4j的日志规范实现的框架。Logback日志框架官方网站https://repo1.maven.org/maven2/ch/qos/logback/slf4j-api日志框架下载地址https://repo1.maven.org/maven2/org/slf4j/slf4j-api/Logback日志框架有以下几个模块image想使用logback日志框架至少需要在项目中整合如下三个模块imageLogback快速入门需求使用logback日志框架记录系统运行信息。实现步骤导入logback框架到项目中去。slf4j-api:日志接口logback-corelogback-classic将Logback框架的核心配置文件Logback.xml直接拷贝到src目录下(必须是src下)。创建Logback框架提供的logger对象然后用logger对象调用其提供的方法就可以记录系统的日志信息。public static final logger LOGGER loggerFactory.getLogger(类名);案例代码//目标使用logback记录日志public class Test {//1. 创建一个logback框架的Logger日志独享来记录日志。public static final Logger LOGGER LoggerFactory.getLogger(Test.class);public static void main(String[] args) {try{LOGGER.info(除法开始了...);chu(0,0);LOGGER.info(除法成功了...);}catch (Exception e){LOGGER.error(除法执行失败了 e.getMessage());}}public static void chu(int a , int b){LOGGER.debug(参数a a);LOGGER.debug(参数b b);int c a / b;LOGGER.info(结果c c);}}logback.xml文件内容如下%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log30%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n10MB核心配置文件Logback.xml对logback日志框架进行控制的。日志的输出位置、输出格式的设置通常可以设置2个输出日志的位置一个是控制台、一个是系统文件中开始日志(ALL) 取消日志(OFF)什么是日志级别日志级别指的是日志信息的类型日志都会分级别常见的日志级别如下(优先级依次升高)image为什么要学习日志级别只有日志级别是大于等于核心配置文件配置的日志级别才会被记录否则不记录。

相关新闻

协议森林  (DNS协议)

协议森林 (DNS协议)

匪言弛月AI Agent 产品推荐方案:从需求分析到落地开发 一、企业业务痛点 您的企业是否曾面临这样的困境? 企业产品品类繁多,单个产品的参数常达数十上百个,类型各异(部分为数字类型,部分为文字类型&#xf…

2026/7/5 3:37:15 阅读更多 →
选择HttpHandler还是HttpModule?

选择HttpHandler还是HttpModule?

教逝馁崭在前文中我们讲过ThreadLocal,相当于是每个线程有一个小书包,线程之间的小书包是隔离的,只存放了属于当前线程自己的变量,因此不会发生数据安全的问题。 (前文博客浅谈ThreadLocal----每个线程一个小书包 htt…

2026/7/7 3:49:19 阅读更多 →
MVVM(Knockout.js)的新尝试:多个Page,一个ViewModel

MVVM(Knockout.js)的新尝试:多个Page,一个ViewModel

偌颈僮吹通过 start.spring.io 或其他构建基础的Spring Boot工程,根据你构建应用的需要增加一些依赖,比如最后用接口提供服务的话,可以加入web模块:org.springframework.bootspring-boot-starter-web2. 注册 UnifiedTTS&#xff0…

2026/7/7 6:09:26 阅读更多 →

最新新闻

【专业服务】游戏试玩广告全流程定制开发:从创意到数据,助力高效获客

【专业服务】游戏试玩广告全流程定制开发:从创意到数据,助力高效获客

🎯 服务概述 我们是专注于游戏试玩广告(Playable Ads)创意策划与技术开发的团队。我们致力于将您的游戏核心乐趣,浓缩成几十秒的沉浸式互动体验,直接触达目标用户,大幅提升广告点击率、转化率与用户质量。 …

2026/7/7 7:17:58 阅读更多 →
开源AI模型本地部署实战:从环境搭建到性能优化全解析

开源AI模型本地部署实战:从环境搭建到性能优化全解析

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 本地部署开源AI模型实战指南:从环境搭建到应用落地 最近在技术社区中,关于开源AI模型本地部署的讨论越来越热…

2026/7/7 7:17:58 阅读更多 →
月入五万的蓝海赛道,两年做到头部

月入五万的蓝海赛道,两年做到头部

最近好几个同学来问节气礼盒项目,说翻了一圈,发现我们宣传得不多,问我能不能再讲透一点。行,今天咱们敞开聊聊。先说一个大多数人认为的误区:提到端午粽子、中秋月饼,第一反应是不是街边糕点店、网红零食&a…

2026/7/7 7:13:57 阅读更多 →
微信小程序逆向分析实战:从原理到工具链全解析

微信小程序逆向分析实战:从原理到工具链全解析

1. 项目概述:为什么我们需要小程序逆向分析?如果你是一名移动应用开发者、安全研究员,或者是对某个小程序的功能实现感到好奇的技术爱好者,那么“逆向分析”这个词对你来说一定不陌生。尤其是在微信小程序生态如此繁荣的今天&…

2026/7/7 7:11:56 阅读更多 →
全球 AI 市场格局定型、物理世界模型商用、国产 AI 立法提速;3.2T 光 / 低轨卫星 / 5G-A 构筑新一代算力通信底座

全球 AI 市场格局定型、物理世界模型商用、国产 AI 立法提速;3.2T 光 / 低轨卫星 / 5G-A 构筑新一代算力通信底座

标签:AI 市场格局、Cosmos3、AI 综合性立法、3.2T 光模块、低轨卫星星载 AI、5G-A、算力网络、具身智能 阅读时长:11 分钟前言2026 年年中 AI 产业、通信基础设施同步迎来六大标志性里程碑事件:全球生成式 AI 市场三分天下格局彻底固化&#…

2026/7/7 7:11:56 阅读更多 →
5分钟掌握Real-ESRGAN:高效实现专业级图像超分辨率

5分钟掌握Real-ESRGAN:高效实现专业级图像超分辨率

5分钟掌握Real-ESRGAN:高效实现专业级图像超分辨率 【免费下载链接】Real-ESRGAN Real-ESRGAN aims at developing Practical Algorithms for General Image/Video Restoration. 项目地址: https://gitcode.com/gh_mirrors/re/Real-ESRGAN Real-ESRGAN是一款…

2026/7/7 7:11:56 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻