首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第9章 文件IO操作、正则表达式与多线程第9章 文件IO操作、正则表达式与多线程

第9章 文件IO操作、正则表达式与多线程 我们在《第6章 扩展函数与属性》中已经介绍过Kotlin中的类扩展的特性。...readLines : 获取文件每行的内容 如果我们想要获得文件每行的内容,可以简单通过 split("\n") 来获得一个每行内容的数组。...输入字符串全部匹配,返回一个匹配结果对象 replace(input: CharSequence, replacement: String): String 把输入字符串中匹配的部分替换成replacement...find函数 返回输入字符串中第一个匹配的MatcherMatchResult对象。...本章小结 Kotlin 是一门工程实践性很强的语言,从本章介绍的文件IO、正则表达式以及多线程等内容中,我们可以领会到 Kotlin 的基本原则:充分使用已有的 Java 生态库,在此基础之上进行更加简单实用的扩展

1.9K30

《Kotin 极简教程》第15章 Kotlin 文件IO操作、正则表达式与多线程第15章 Kotlin 文件IO操作与多线程《Kotlin极简教程》正式上架:

从终端读取数据也很简单,最基本的方法就是全局函数readLine,它直接从终端读取一行作为字符串。如果需要更进一步的处理,可以使用Kotlin提供的各种字符串处理函数来处理和转换字符串。...输入字符串全部匹配,返回一个匹配结果对象 replace(input: CharSequence, replacement: String): String 把输入字符串中匹配的部分替换成replacement...find 返回输入字符串中第一个匹配的MatcherMatchResult对象。...那么并发如何在Kotlin中工作呢?放心,Kotlin 既然是站在 Java 的肩膀上,当然少不了对多线程编程的支持——Kotlin通过封装 Java 中的线程类,简化了我们的编码。...本章小结 Kotlin 是一门工程实践性很强的语言,从本章介绍的文件IO、正则表达式以及多线程等内容中,我们可以领会到 Kotlin 的基本原则:充分使用已有的 Java 生态库,在此基础之上进行更加简单实用的扩展

3.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Spring认证中国教育管理中心-Spring Data MongoDB教程六

    11.6.8.流畅的模板API MongoOperations当涉及到与 MongoDB 的更多低级交互时,该接口是核心组件之一。...ExampleMatcher:ExampleMatcher包含有关如何匹配特定字段的详细信息。它可以在多个示例中重复使用。 Example: AnExample由探针和ExampleMatcher....仅支持字符串的开始/包含/结束/正则表达式匹配以及其他属性类型的精确匹配。 在开始使用 Query by Example 之前,您需要有一个域对象。...默认情况下,null忽略具有值的字段,并使用商店特定的默认值匹配字符串。 将属性包含在 Query by Example 标准中是基于可空性。...在 中包含null值时ExampleSpec,Spring Data Mongo 使用嵌入式文档匹配而不是点符号属性匹配。这样做会强制对嵌入文档中的所有属性值和属性顺序进行精确的文档匹配。

    2.8K20

    Kotlin 集合 查询,检测,截取等方法介绍

    前言 本篇将学习如何从集合中查询元素find, 随机获取元素random。检测集合元素是否存在,集合是否为null。 比较两个集合是否包含,以及集合的各种截取方式。...indexOfLast() 返回与谓词匹配的最后一个元素的索引,如果没有此类元素,则返回 -1。 indexOfFirst() 和indexOfLast() 相关说明已经在上面介绍了。...方便我们便捷的从集合中获取想要的数据。 截取后的值将会存储在一个新的集合数组中。不会修改原数据集合。 Slice()切片 该函数返回具有给定索引的集合元素列表。...满足我们不同的截取需求。 例如倒着截取,截取匹配字段的元素,截取不匹配字段的元素等等。...CC, DD, EE] 总结: **dropWhile **:从左往右开始截取,从第一个不匹配Lambda等式的元素开始,截取到数组最后一个元素 dropLastWhile:从右往左开始截取,从右边第一个元素开始

    1.1K30

    Kotlin入门(31)JSON字符串的解析

    下面分别介绍这两个工具类的用法: 1、JSONObject JSONObject的常用方法如下所示: 构造函数 : 从指定字符串构造出一个JSONObject对象。...getJSONObject : 获取指定名称的JSONObject对象。 getString : 获取指定名称的字符串。 getInt : 获取指定名称的整型数。...getDouble : 获取指定名称的双精度数。 getBoolean : 获取指定名称的布尔数。 getJSONArray : 获取指定名称的JSONArray数组对象。...getJSONObject : 获取JSONArray数组对象在指定位置处的JSONObject对象。 put : 往JSONArray数组对象中添加一个JSONObject对象。...下面直接给出Kotlin解析json串的常用代码片段,包括如何构造json串、如何解析json串,以及如何遍历json串:     //构造json串     private val jsonStr

    4.3K20

    Kotlin实战【二】Kotlin基本要素

    关键字fun用来声明一个函数。(没错,kotlin就是这么fun) 参数类写在参数名字的后面,变量的声明也是如此。 函数可以在文件的最上层中声明,你没必要把它放到一个类中。 数组就是类。...如果你想在变量里面存储一个不匹配的类型的值,你必须转换或者协变这个值到正确的类型。...)通常被叫做**值对象** **注意**:从java到Kotlin的转换过程中public修饰符消失了。...> - 但是在Koltin中,属性是头等的语言特信,完全替代字段和访器方法。使用val和var关键字。...>**小贴士:** > - 你可以在Java定义的类中使用Kotlin的属性语法。在Java类中的getter可以在Kotlin中val属性获取,getter/setter可以通过var属性获取。

    1.2K20

    Java 近期新闻:Helidon Níma、Spring Framework、MicroProfile

    发布说明包含了文档的链接,比如完整的 API 规范以及一个标注的 API 规范,后者对比了 JDK 18(Build 36)和 JDK 19(Build 36)的差异。...5.3.23 版本引入的新特性是 AnnotationUtils 类中定义的 isSynthesizedAnnotation() 方法,它能够让开发人员放弃已废弃的 SynthesizedAnnotation...() 中触发 PostgreSQL JDBC 驱动的 SQL 注入,该漏洞是由于 ResultSet 类中 refreshRow() 方法的实现没有正确的转义列名,所以包含语句终结符(比如分号)的恶意列名会导致...Spring Cloud Sleuth OpenTelemetry 1.1.0 版本发布,这是 Spring Cloud Sleuth 的一个实验性扩展,其中包括了对 Spring Cloud 2021.0.4...关于这个版本的更多细节可以在他们的文档和问题跟踪页面中找到。

    1.4K20

    如何使用React和Firebase搭建一个实时聊天应用

    React是一个用于构建用户界面的JavaScript库,它可以创建动态和交互式的网页应用。...Firebase是一个由Google提供的后端服务平台,它可以快速地开发和部署iOS、Android和Web应用。...使用Cloud Firestore来存存储和同步聊天室消息,并使用react-firebase-hooks/firestore来获取消息数据。.../firebase";const firestore = firestore();然后,在src文件夹下打开Chatbox.js文件,在其中导入firestore模块,并使用它来获取聊天室消息数据:import...您可以参考以下资料来了解更多的细节和教程:React官方文档Firebase官方文档react-firebase-hooks库socket.io官方文档我正在参与2023腾讯技术创作特训营第四期有奖征文

    63641

    Kotlin入门(27)文件读写操作

    因此,开发者通常得自己重新封装一个文件存取的工具类,以便在日常开发中调用。...返回一个字符串的List,文件有多少行,队列中就有多少个元素。 readBytes : 读取字节数组形式的文件内容。...倘若要求遍历某个目录下面的所有文本文件或者图片文件,那可麻烦了,因为该功能的需求点可丰富了,例如要不要到子目录和孙子目录下搜索、文件跟文件夹都要匹配还是只匹配其中之一、筛选条件的文件扩展名都有哪些?...现在有了Kotlin就方便多了,因为Kotlin把目录遍历这个功能重新梳理了一下,归纳为FileTreeWalk文件树,通过给文件树设置各式各样的参数与条件,即可化繁为简,轻轻松松获取文件的搜索结果。..."”,如果符合条件的扩展名只有一种那还好办,如果符合条件的扩展名有多个又该如何是好?

    3.4K20

    【ES三周年】分布式搜索索引elasticsearch JavaAPI编写ES搜索

    过滤条件:哪些文档要加分算分函数:如何计算function score加权方式:function score 与 query score如何运算1.5.3.布尔查询布尔查询是一个或多个查询子句的组合,每一个子句就是一个子查询...max_score:所有结果中得分最高的文档的相关性算分hits:搜索结果的文档数组,其中的每个文档都是一个json对象_source:文档中的原始数据,也是json对象因此,我们解析响应结果,就是逐层解析...:获取总条数信息SearchHits#getHits():获取SearchHit数组,也就是文档数组SearchHit#getSourceAsString():获取文档结果中的_source,也就是原始的...hit.getHighlightFields(),返回值是一个Map,key是高亮字段名称,值是HighlightField对象,代表高亮值第三步:从map中根据高亮字段名称,获取高亮字段值对象HighlightField...第四步:从HighlightField中获取Fragments,并且转为字符串。

    1.4K51

    【ES三周年】使用 Ingest Pipeline 在 Elasticsearch 中对数据进行预处理

    根据文档中的时间戳字段将文档写入基于时间的索引时间处理 date 从字段中解析日期作为文档的时间戳类型处理 convert 字段类型转换,例如 "1234" -> 1234类型处理...如果该字段是一个字符串数组,则该数组的所有成员都将被转换。uppercase 处理器和 lowercase 相反,将字符串转换为大写字母。...,对其中的每个元素进行处理,使用 processor 参数指定一个处理器来处理数组中元素。...在 foreach 处理器内引用的处理通过 _ingest._value 键来获取数组中每个元素的值。如下所示,将 values 字段中的每个元素转换为大写字母。...,这样在返回结果的 _grok_match_index 字段中可以看到匹配了哪个表达式,其中 1 表示匹配了第二个表达式。

    4K240

    ElasticSearch权威指南:基础入门(中)

    在 hits 数组中每个结果包含文档的 _index 、 _type 、 _id ,加上 _source 字段。这意味着我们可以直接从返回的搜索结果中使用整个文档。...这不像其他的搜索引擎,仅仅返回文档的ID,需要你单独去获取文档。 每个结果还有一个 _score ,它衡量了文档与查询的匹配程度。...分页 在之前的 空搜索 中说明了集群中有 14 个文档匹配了(empty)query 。 但是在 hits 数组中只有 10 个文档。如何才能看到其他的文档?...当你从 Elasticsearch 得到一个文档,每个数组的顺序和你当初索引文档时一样。你得到的 _source 域,包含与你索引的一模一样的 JSON 文档。...获取更多信息请看 聚合与分析 。 什么是相关性 我们曾经讲过,默认情况下,返回结果是按相关性倒序排列的。 但是什么是相关性? 相关性如何计算?

    6.3K41

    使用 Ingest Pipeline 在 Elasticsearch 中对数据进行预处理

    结构化数据处理 json 将 json 字符串转换为结构化的 json 对象 结构化数据处理 kv 以键值对的方式提取字段 结构化数据处理 csv 从单个文本字段中提取 CSV 行中的字段 匹配处理 gsub...如果该字段是一个字符串数组,则该数组的所有成员都将被转换。uppercase 处理器和 lowercase 相反,将字符串转换为大写字母。...,对其中的每个元素进行处理,使用 processor 参数指定一个处理器来处理数组中元素。...在 foreach 处理器内引用的处理通过 _ingest._value 键来获取数组中每个元素的值。如下所示,将 values 字段中的每个元素转换为大写字母。...,这样在返回结果的 _grok_match_index 字段中可以看到匹配了哪个表达式,其中 1 表示匹配了第二个表达式。

    5.7K10

    ElasticSearch-查询

    过滤条件:哪些文档要加分 算分函数:如何计算function score 加权方式:function score 与 query score如何运算 1.5.3.布尔查询 布尔查询是一个或多个查询子句的组合...max_score:所有结果中得分最高的文档的相关性算分 hits:搜索结果的文档数组,其中的每个文档都是一个json对象 _source:文档中的原始数据,也是json对象 因此,我们解析响应结果...().value:获取总条数信息 SearchHits#getHits():获取SearchHit数组,也就是文档数组 SearchHit#getSourceAsString():获取文档结果中的_source...hit.getHighlightFields(),返回值是一个Map,key是高亮字段名称,值是HighlightField对象,代表高亮值 第三步:从map中根据高亮字段名称,获取高亮字段值对象HighlightField...第四步:从HighlightField中获取Fragments,并且转为字符串。

    17810

    Spring认证中国教育管理中心-Spring Data MongoDB教程十三

    如果您有一个非零参数构造函数,其构造函数参数名称与文档的顶级字段名称匹配,则使用该构造函数。否则,将使用零参数构造函数。如果有多个非零参数构造函数,则会抛出异常。 18.2.1...._id在映射层中如何处理字段。 MongoDB 要求您有一个_id包含所有文档的字段。如果您不提供,驱动程序将分配一个带有生成值的 ObjectId。...查询和更新时MongoTemplate将使用转换器来处理与上述保存文档规则相对应的Query和Update对象的转换,因此查询中使用的字段名称和类型将能够匹配域类中的内容。...MongoDB 类型与预期的类型不匹配时,可以派上用场。...如果 Java 类型具有名称与输入文档的给定字段匹配的属性,则使用它的属性信息选择适当的构造函数参数以将输入字段值传递给。

    2.8K20

    Kotlin入门(5)字符串及其格式化

    上一篇文章介绍了数组的声明和操作,包括字符串数组的用法。...首先要说明的是String类型与基本变量类型之间的转换方式,在《Kotlin入门(3)基本变量类型的用法》中,提到基本变量类型可以通过toString方法转为字符串类型。...而在Kotlin这边,转换类型相对简单,并且与基本变量类型之间的转换保持一致,具体说明如下: 字符串转整型:调用String对象的toInt方法 字符串转长整型:调用String对象的toLong方法...,唯一的区别是split方法的返回值,在Java中,split方法返回的是String数组,即String[];但在Kotlin中,split方法返回的是String队列,即List。...,如果要对一个字符串做转义,也就是把某个字符串的所有字符原样输出,那么只能采用形如“${'***'}”的表达式了,该表达式用单引号把待转义的字符串包起来,好处是能够保留该字符串中的所有特殊字符。

    1.9K10

    深入理解Kotlin Native的梦想与可能

    接下来我们以字符串为例详细介绍数组的内存布局。 在编译与产物一节中我们已经见识到了 Kotlin 字符串常量的 LLVM IR,字符串常量 "Hello World!!"...可以看到,字符串对象的内存主要包含 ArrayHeader 和一个 i16 整型的数组,这里的 i16 实际上就对应于 Kotlin 的 Char 类型。...TypeInfo 的内存信息如下: 注意,数组和字符串的 instanceSize_ 字段是元素大小的相反数,例如这里字符串的元素大小为 2 字节,instanceSize_ 的值就是 0xFFFFFFFE...C 语言的数值类型完全相同,因此映射关系也非常简单直接: 5.2.2 字符串类型 字符串类型的映射稍微有些复杂,C 语言中的字符串其实就是以字符 \0 结尾的字符数组,由于一个字符的只占用 1...需要注意的是,这个指针指向的实际上是 StableRef 背后的一个 C++ 对象,因此在 C 函数中,我们不能直接使用这个指针来获取对应的 Kotlin 对象,而只能把它当成一个透明指针来使用。

    1.6K12
    领券