开发工具分享
  • 首页
  • 计算科学
  • 文化旅游
  • 项目和网站
    • OSSEZ 计算技术
    • USRealEstate 社区
    • 地区文化
    • CWIKI.US
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
CWIKIUS.CN
一个有独立思考和温度的清新站
Computer Science

Java System.lineSeparator 方法

回车换行问题 在不同操作系统中对回车换行的定义是不一样的。 Windows 的回车换行是 2 个字符,对应的是回车+换行,写法就是我们常用的 \r\n Unix 系统下对这个回车换行进行了简化,变成了使用 \n 来表示。 这里就出现了一个问题,对应不同的操作系统,同样的文本,如果只用 \n 的话, Windows 系统读的文本没有换行,只有回车。 JDK 1.7 之前 在 JDK 1.7 之前,如果我们要解决这个问题,我们会使用下面的代码: System.getProperty("line.separator"); JDK 是使用属性配置文件来进行定义的。 这个方法的写法有点容易出错,毕竟是文本了,敲错字很正常。 System.lineSeparator Java 的 System.lineSeparator 这个方法对 System.getProperty("line.separator"); 进行了封装。 这个方法是在 JDK 1.7 以后才提供的,我们直接用就可以了。 如果你查看 JDK 的源代码的话。     这里非常清楚的显示了对代码的封装。 代码显示也非常清楚,这个是从版本 1.7 开始的,主要就是为了 Unix 和 Windows 回车换行问题。     如果你的 JDK 比较新,就大胆用吧。 按照目前 JDK 主流的版本是 1.8 的情况,大部分情况都不会有什么问题。   https://www.ossez.com/t/java-system-lineseparator/14052

2022年08月10日 0Comments 775Browse 0Like Read more
文化旅游

民族融合的湘南典范芬香村 - 故事与民谣

故事与民谣     传说故事 很久很久以前,黄花岭东面住着一对相依为命的兄弟,非常勤劳,他们没有钱买耕牛,就用手一锄头一锄头地挖田种庄稼。 有民谣曰:“千狠心万狠心,打把锄头三五斤,一锄挖个黄花岭,两锄挖个养牛坪。”他们的辛劳感动了居住在黄花岭山上的神仙,决定帮助他们。 一天,这位神仙就变化成一个江湖上卖狗的人,卖狗人来到兄弟俩挖田的地方,念念有词的唱道:“卖狗牵牵,卖到云南四川;谁个识货,我就不收钱。 ”兄弟俩看到那条狗油毛光亮,长得高大,很有神采,就买下了那条狗。神仙见他们买下狗,没有说一句话,眨眼就不见了。 兄弟俩刚把狗牵到手,想掏钱,却见不着那卖狗的人了。那狗跟着兄弟俩回到家,不仅会看家,而且还会犁田,他们再也不用拿锄头挖田了,日子也慢慢好起来了。又一日,一个盐贩子路过黄花岭,看见兄弟用狗犁田,觉得狗犁得了什么田呢?于是他山上唱道:“卖盐卖了多少年,从未见过狗犁田。 狗若犁了这丘田,我愿输了这担盐。”兄弟俩见卖盐人这样说,就跟他打了睹。 一袋烟工夫,狗就把一丘大田犁了,盐贩子只好认输,把那担盐乖乖地留下来了。 从此兄弟俩不仅种田,也开始了贩盐的生意,日子过得红红火火的了! 民谣 摇呀摇,摇到外婆桥。摇大了,砍柴烧。砍一担,回来有个嘎嘎蛋。砍一把,回来有场打。 古怪古怪真古怪,和尚帽子翻转戴。我讲先煮饭,他讲先煮菜。一滴眼泪屎,打烂钹锅盖。 月亮光光,月亮柔柔,江边奶崽放水牛。水牛过江,踩死蚂蟥。蚂蟥告状,告到和尚。和尚担水,遇到海龟。海龟生蛋,拿来送饭。   https://www.usreio.com/t/topic/275

2022年08月09日 0Comments 754Browse 0Like Read more
文化旅游

民族融合的湘南典范芬香村 - 民俗风情之崇文重教

芬香村地处边远的大山中,靠着耕种旱作物过日子,芬香是国家级的贫困村,村子的经济虽然贫困,但村民对孩子的教育却没有任何的放松。在300多人的村子里,考上大学的不在少数。 如贺家小孩考上了中国人民大学,唐家小孩考上了哈尔滨工业大学,盘家小孩是清华大学的博士,一般大学的学生有10多个,还有两个空军飞行员。经济落后但子女培养却毫不含糊,相互学习,相互提携,相互竞争,从而,形成了芬香村一心尚学的好风气。 这些走出家乡的学子,其对家乡的眷恋却没有减少。身处繁华的都市生活,惦念着的还是家乡的父老乡亲。 每次回到这偏僻的芬香村,临走时总忘不了带上一包家乡的红薯干与那独特穇子酒。这就是家乡的味道!   https://www.usreio.com/t/topic/274

2022年08月09日 0Comments 822Browse 0Like Read more
文化旅游

民族融合的湘南典范芬香村 - 民俗风情之摸鱼

芬香村水资源并不丰富,村民因地制宜,就在稻田里养鱼,以解决村民的吃鱼问题。因鱼在稻田里吃着禾花长大,这鱼就叫着禾花鱼,村民说这鱼以前还是朝庭贡品。 收割完稻谷后,稻田里还有水,这时就会举行摸鱼节,一是庆祝丰收,二是趁着稻田水没干把鱼捞上来,晒干以便腊月食用。 摸着的大鱼交给养鱼的主人,而小的就会谁摸着归谁。摸鱼节没有固定的日期,而是村民把稻田里的稻谷收割完了后,再约定时间全村同到稻田里摸鱼,全村的男女老少都会在这一天或拿着家里的鱼罩,或空手到田里摸鱼。 长期的约定,就形成了芬香村较有仪式感的的娱乐活动了。           https://www.usreio.com/t/topic/274

2022年08月09日 0Comments 842Browse 0Like Read more
文化旅游

民族融合的湘南典范芬香村 - 民俗风情之上梁仪式

芬香村地处零陵西南边界,与瑶族同胞杂居一地,至今还保存着许多并带有瑶族风格的民俗风情。如建房,芬香村还保存着较完整的仪式。 上梁仪式 房屋建筑快落成时最重要的仪式就是上梁。木匠师傅要先选好梁木,并把梁木做好,架在较高的地方,不能着地,防止人们从梁上跨过。 梁木选择比木柱要稍小的直杉木(或香椿树)。上梁前需先选好日子与时辰,避开各种凶煞,才能上梁。日时定好后,开始准备上梁宴。 上梁这一天,家属中的亲戚及村民都会到新房祝贺,并送上贺礼。孩子们到得越多越好,越热闹越有人气,预示建房家庭的人丁兴旺。 孩子们参加这种活动,其家长一定要告诫孩子多说吉祥话,并指明哪些话不能说等。 第一步,是由村里德高望重的长者,或是师公,诵唱《上梁文》。 第二步,是用鸡血祭梁,以求根基牢固,平安长久。师公用嘴咬开公鸡的鸡冠,用鸡冠血涂抹在梁木上,鸡不能杀死,这叫活祭。 用来祭梁的公鸡,在仪式结束后交给师公带回。过去有的人家还会在梁木上用毛笔写上上梁日期,我们在考察古村落时就是通过梁上书写的日期,了解到古村落的建造时间。 第三步,用一对外圆内方的古钱币、一双红筷子、纸笔墨、五谷等,用红布包裹好,用红线、红黄彩色新布条把它们捆绑在梁木向地面一方的正中,一定要捆严实,防止松了掉下来。 意为祈求四季平安,五谷丰登,后辈文武双全。另外在梁的两头还捆一串铜钱,以示镇邪。 第四步,上梁。由村里的青壮年用棕绳一步一步将梁木拉上去。拉梁的时候,鞭炮齐鸣,锣鼓喧天。木匠师傅唱上梁歌,“正梁上上六步啊,六六六六大顺啊!”拉梁的人们齐声呼应“好的啊!”每上一步,上梁师傅唱一句,拉梁者都要高声呼应:“上啊,大吉大利!”在场的村民亲朋也一起跟着呼喊回应。 第五步,接包。待梁木拉上去放正后,就把装着糍粑、红包、花生、桂圆、红枣、玉米等物品的箩筐拉上去交给建房的木匠师傅。 主人除了给木匠师傅正常工钱之外,在这个箩筐里放一些额外给上梁木匠师傅的礼品。 第六步,抛梁,这是最热闹也是最有欢快有趣的一道程序。 木匠师傅接到箩筐后,大喊地声,“祝贺啦!”随后将糖果、花生、糍粑、铜钱、红枣、桂圆等从梁上向下抛向四周,让前来看热闹的男女老幼争抢,人越多主人越高兴,此举称为“抛梁”,意为“财源滚滚来”。 在“抛梁”时,木匠师傅还要说吉利话,“抛梁抛到东,东方日出满堂红。抛梁抛到西,麒麟送子挂双喜。抛梁抛到南,子孙代代福满堂。抛梁抛到北,囤囤白米年年悦。”一边向下抛撒,一边唱着山歌,梁下的人们一边捡礼品,一边也会随声呼应。 上梁歌词有讲究,一般七字一句,一段六句,寓意有吃有喝,人寿年丰,天长地长。如: 炮竹的响喜洋洋,我给东家来上梁。主梁生在青龙上,龙尾连在凤凰山。多发红包多生子,保你东家人财旺。 说上梁来快上梁,上梁粑粑你先尝。先赐东家金元宝,再赐东家粮满仓。三赐东家平安树,四保东家子孙长。 上梁粑粑软呵呵,快抛粑粑子孙多。老人捡起哄孙崽,后生捡起哄老婆。姑娘捡起送郎君,奶崽捡起笑呵呵。 太阳刚露上吉梁,吉梁上在新屋上;左边连着状元府,右边搭起是金榜;东家多把红包递,保你儿孙做大官。 黄道吉日上吉梁,吉梁上在屋上方。梁上包好笔墨砚,恭祝东家世代昌。文官胜过文兆姬,武官赶上朱元璋。 抛梁结束后,众人退出新屋,让太阳晒一下屋梁,这叫做“晒梁”。最后,主人设宴款待匠人、帮工和亲朋好友,并分发红包,整个上梁仪式结束。   https://www.usreio.com/t/topic/274

2022年08月09日 0Comments 818Browse 0Like Read more
文化旅游

民族融合的湘南典范芬香村 - 建筑特色之建筑艺术

芬香村的古建筑大多是清末民初时期的,村落四周是山岭,山岭上木材很多,村民因地取材,大量采用当地石材和木材建造房子。 芬香村院落的屋墙:墙基是大方块青石,屋外墙先是青石砌到一米高左右,然后用青砖垒砌,采用的大多是空斗墙,硬山墙墙檐上用石灰雕塑描绘条纹,非常鲜明,墙顶的下方用砖砌成窗,不同的房屋墙体,窗户的形状不同,有四瓣棱的、六棱形的。 进第三道栅门的门墙上,用石灰泥堆塑了两重门楣,门楣的彩画清晰明丽,最上层的彩画是两只鸡相向而鸣,两朵牡丹花的花瓣层次分明,左边有一题词:“平安竹报千年碧,富贵花开一品红。”表达了芬香村里的百姓对“平安富贵”的寄望与企盼。 下层画的是喜鹊,回头一鸣是给人们报喜报平安。另一座房屋的门楣上画的是鸟与花卉,其线条精细,形态逼真,可见当时这位民间画师的绘画水平是较高的。             围墙内的房屋则是采用悬山墙,屋檐伸出墙外;屋内大量采用的是木材,穿斗式的木架结构,全木质隔板墙壁,充分利用山中木材。                 马头墙上的排水口设计合理,充分表现了民间匠人的智慧。         最精美的是绦环板、月梁上的木雕和柱础上的石雕。芬香村里的一对狮子、麒麟柱础,是我们在零陵古村落中所见过的最具特色的一对。此外,其瓦当图案也很精致。               https://www.usreio.com/t/topic/273  

2022年08月09日 0Comments 1071Browse 0Like Read more
文化旅游

民族融合的湘南典范芬香村 - 建筑特色之布局

一个村落的建设,无不体现了当时村里人的智慧与财力,也表现乡贤们在村落建设上的文化理念,及乡间工匠的技术水准。古代的村落建设,特别是深山里的村子,村民们既要考虑生活生产和以后村子发展的各种需要,更要考虑到村落居民生命财产的安全。 因此南岭一带的古村落,在最早建设时,要考虑到这些因素,因而村落设计布局时,通常都会设计具有防护功能的墙,建一些具有防护性质的的建筑,芬香村设计布局就是这样的。 芬香村的布局 芬香村建在狮子岭、凤凰岭与大山坳之间的一个小山谷中。东边的院落建在狮子岭凤凰岭山脚下,由两个巷道三排屋组成,坐东南朝西北,以邓姓为主。 在山谷西的大山坳小山坡上的院落从山顶向下递层而建,西边院落与狮子岭山脚下的院落相向而成,坐西北朝东南,这也是芬香村保存最好的古民居院落。 院落四周建的高达近两米的青石围墙,村落的原入口在东南面,从东南方向的村口进院落,有三道栅门。 第一道栅门与围墙相连,上七级台阶,走一条斜石板路,是第二道栅。第一道栅门与第二道栅门之间的两边围墙上是村内厕所与各种公用房屋。 过了第二道栅门,就是一条有二十多级缓坡台阶的石板路,石板路边是院落的排水沟,在排水沟边上就是连排屋。在排水沟边有五级台阶,踏上台阶进入连排屋前的檐廊。 村子石板路右边还保存着三栋三开间的连排屋,走廊连着三栋屋。再走几级台阶是第二进连排屋。 第一进连排屋与第二进连排屋不相通,各成单独院落,需要从券门出来通过巷道石板路才能进入到另一进连排屋。         上到二十多级台阶,便是第三道栅门。这道栅门有五个栅门方柱口,高高的封火马头墙把里面的房屋紧紧地包裹起来,进入栅门是一栋连两边屋的风雨屋式的走廊,两边是两连座的二进三开间屋,村右的两进两连座,经过维修保存得较好,长长的走廊前是水沟,大门敞开,前后两进用天井和厢房相连,整个房屋宽敞明亮。     村落的后面是20世纪50年代后期建的家会食堂,保存较好。村民说在外围墙四周及院落的后面过去建了三座碉楼,用于观察防范匪情,只要有土匪来,立马通风报信,然后村民迅速集结御敌。         整个芬香村就在一个半山腰的山窝窝里,房屋依山而建,因形就势,高低错落。整个村落似一座坚固的碉堡,村落外围是环形围墙,村内由一条青石板路连接着各家各户。 围墙脚下是一条两尺多深的水渠,水渠与村前田洞相通,既可用于排洪,又可引水灌溉,一条穿行在水渠与田间的石板路绕村而过,小路向西南通往广西东山乡,向北通大庆坪,可至零陵。 这是过去芬香村与外界相连的主要通道。     村前栅门的北面有一口椭圆形的水塘。水塘的四周塘堤都是用方块青石垒砌而成,大块大块的青石从塘底砌到石板路面上,塘埂四周的石板路,保存较好,现仍然是村民往来行走的主要通道。 水塘不太深,种有一些荷花。过去干旱时,这口塘是村民保粮产、保生活用水的主要储备水池。     从芬香村西边院落村口出来,经过几丘农田的石板路就是东面的院落。走上高高的石台阶,这东边的院落有二条巷道,三排屋。院落的后面是青石嶙峋的小山。 在布满青石的土地中,生长着各种树木,成为一片小树林。石山在院落后面把院落包围住,成为一道天然屏障。 东边院落设计布局的风格与西边院落不同,具有典型的湘南建筑特色。 从巷道进去是走廊,走廊一侧是厢房、天井,一侧是堂屋与卧室。天井前是高高的封火照墙,把房屋与外界隔断,一栋房屋成为一个封闭的生活空间。 前一栋房屋与后一栋不相通,都是从巷道进入房屋,这东边的院落建于民国期间。   https://www.usreio.com/t/topic/273

2022年08月09日 0Comments 1140Browse 0Like Read more
Computer Science

Edge 提供了标签分组功能

在 Edge 中,可以通过拖动标签来对标签进行分组。 这个功能在有很多标签的时候还是比较实用,最好还是不要在浏览器中保留过多标签。     首先,打开新版Edge浏览器,在地址栏处输入“edge://flags”并访问 接着,在“实验”页面中,在搜索栏输入并搜索“Tab Groups”,并将下方三项都设置为“Enabled”,最后点击“重启”按钮即可 这样就开启了“标签页分组”功能啦 对用不上的标签还是及时关闭吧,因为过多标签比较消耗资源。   https://www.ossez.com/t/edge/14051

2022年08月09日 0Comments 769Browse 0Like Read more
Computer Science

Discourse 的关闭主题(Close Topic )和重新开放主题

Discourse 提供了一个关闭主题的功能。 简单的来说就是如果一个主题长期不用或者时间过长了,DIscourse 可以进行关闭。 关闭这个主题可以是自动的,也可以是手动的。     这个关闭主题主要是对级别不高的用户有影响,当用户级别不高,主题被关闭后,用户就没有办法进行回复了。 对高级别用户,这个功能不会做出限制,哪怕是主题关闭了,这些用户也还是可以回复的。 表现 当主题被关闭后,主题的标题签名将会显示一个带有锁的图标。     如果看到这个图标,则表明主题已经被关闭。 重新开放主题 进入主题,通过右侧的配置选项。 对关闭的主题,可以进行重新操作让主题重新开放。     可以对上面的操作来实现主题的关闭和开放。 https://www.ossez.com/t/discourse-close-topic/14050

2022年08月09日 0Comments 877Browse 0Like Read more
Computer Science

Java 多行字符串

在本文中,我们来说说 Java 的多行字符串(multiline strings )。 从 JDK 15 开始,Java 提供了一个称为 Text Blocks 的语法,你可以在代码中直接使用这个功能,如果你安装这个版本的 JDK 的话,那么需要使用一些特定方法实现这个目标。 在本文中,我们还讨论使用其他方法的实现。 文本块 我们可以使用文本块来在代码中定义,文本块使用的是 3 个双引号 “”" (three double quote 3 个双引号): public String textBlocks() { return """ Get busy living or get busy dying. --Stephen King"""; } 这种定义方式在当前 Java 中最方便的实现了,但是因为 JDK 版本的限制,很多项目可能根本没有办法使用这种定义方式。 如果你还没有使用 Java 15,但是使用了 Java 13 和 14 版本的话,我们可以启用预览功能来进行支持。 在后面的文章中,我们将探讨下可能有的其他实现方式来实现文本块的功能。 获得行分隔符 每个操作系统使用自己的方式来确定是否开始一个新行。 在 Java 中,能够非常容易的获得针对运行的操作系统使用的是什么行分隔符,使用下面的代码就可以获得行分隔符了。 String newLine = System.getProperty("line.separator"); 如果你的 JDK 版本是在 7 以上的版本的话,你可以直接使用系统提供的: System.out.println(System.lineSeparator()); 方法。 我们将会使用 newLine 变量在后续的代码中插入一个新行。 String 字符串拼接 String concat 方法能够让我们非常容易的对字符串进行拼接,请考察下面的代码: public String stringConcatenation() { return "Get busy living" .concat(newLine) .concat("or") .concat(newLine) .concat("get busy dying.") .concat(newLine) .concat("--Stephen King"); } 使用 + 操作符,是能够实现上面字符串拼接的另外一种方法。 Java 编译器将会把 concat() 和 + 操作符编译成相同的代码: public String stringConcatenation() { return "Get busy living" + newLine + "or" + newLine + "get busy dying." + newLine + "--Stephen King"; } 字符串 String Join Java 8 使用了一个叫做 String#join 新方法,这个方法将会使用一系列的字符串作为参数。 这个方法将会返回使用分隔符分隔的所有以字符串为参数的字符串。 public String stringJoin() { return String.join(newLine, "Get busy living", "or", "get busy dying.", "--Stephen King"); } String Builder StringBuilder 通常被用来帮助构建字符串,相同的还有一个 StringBuffer,这 2 者的区别主要在于是否是线程安全的问题。请参考:Java 的 StringBuffer 和 StringBuilder 的不同 文章中的内容。 最简单的解释就是 StringBuilder 是线程不安全的。 在基本 Java 实践中,如果我们需要在程序中构建字符串,通常都会使用 StringBuilder 或者 StringBuffer,而尽量避免使用 Java String 的 + 操作符: public String stringBuilder() { return new StringBuilder() .append("Get busy living") .append(newLine) .append("or") .append(newLine) .append("get busy dying.") .append(newLine) .append("--Stephen King") .toString(); } String Writer StringWriter 是另外一种可以用来创建多行字符串的方法。 在这个方法中,我们不需要使用 newLine ,因为我们使用了 PrintWriter 对象,这个对象将会自动添加一个方法 println(); (如果你查看下 JDK 的源代码的话就了解了。) public String stringWriter() { StringWriter stringWriter = new StringWriter(); PrintWriter printWriter = new PrintWriter(stringWriter); printWriter.println("Get busy living"); printWriter.println("or"); printWriter.println("get busy dying."); printWriter.println("--Stephen King"); return stringWriter.toString(); } Guava Joiner 使用外部库,通常对字符串拼接这个问题来说意义不大。 如果你的项目已经使用了外部库的话,你也是可以直接拿来用的。 例如,大部分项目中都会使用的 Guava。我们可以使用 Guava 中的 Joiner 类。 public String guavaJoiner() { return Joiner.on(newLine).join(ImmutableList.of("Get busy living", "or", "get busy dying.", "--Stephen King")); } 从文件中载入 Java 读取文件和从文件中的输出是相同的。 换句话说,Java 从文件中读到什么就会显示什么,因为对于比较长的文本,可以使用属性文件或者文件的方式来把这些数据从程序中分离出来。 读取文件的方式有非常多种,我们通常会使用第三方的库来读取,因为 Java 读取文件的时候比较容易出现异常,同时读取文件有时候还需要处理文件读取的流。 例如下面的代码,我们使用的是原生的文件读取方式: public…

2022年08月09日 0Comments 650Browse 0Like Read more
1…102103104105106…304
Archives
  • June 2026
  • May 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
Categories
  • Computer Science (2,367)
    • Confluence (663)
    • Gradle (12)
  • U.S. (522)
  • 文化旅游 (146)

COPYRIGHT © 2020 CWIKIUS. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

湘ICP备2020018253号-1