使用IO進行Yaml檔案的讀寫
前言
可能是自己對yaml檔案不夠了解吧,想做一個yaml檔案的讀寫,在網上搜到的例項都是使用yaml.dump(),我也這麼跟著做,但使用該方法的yaml檔案始終在開頭有兩個!!,導致沒辦法使用yaml.load()進行讀取.最後看到一個yaml.dumpAsMap()的方法,靈光一現,乾脆自己寫一個得了.以下是實現程式碼,就是一些簡單的IO;
程式碼
除了基礎的jdk外,還引入了兩個包,分別是:fastjson-1.2.2.jar,snakeyaml-1.17.jar
package com.xiangpeng.IM.test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.UUID; import org.junit.jupiter.api.Test; import org.yaml.snakeyaml.Yaml; import com.alibaba.fastjson.JSON; public class YamlTest { @Test public void yamlWrite() throws IOException { // 準備寫入物件 User user = new User(); user.setUid(UUID.randomUUID().toString().replace("-", "")); user.setName("彰顯忠"); user.setSex("男"); user.setAge(37); // 例項化一個Yaml,並準備寫入資料 Yaml yaml = new Yaml(); String dumpAsMap = yaml.dumpAsMap(user); // 使用流寫入yaml檔案 FileWriter fileWriter = new FileWriter(YamlTest.class.getClassLoader().getResource("").getPath()+"../config/UserInfo.yml"); PrintWriter writer = new PrintWriter(fileWriter); writer.write(dumpAsMap); // 收尾 fileWriter.close(); writer.close(); } @Test public void yamlRead() throws FileNotFoundException { Yaml yaml = new Yaml(); File file = new File(YamlTest.class.getClassLoader().getResource("").getPath()+"../config/UserInfo.yml"); User user = JSON.parseObject(JSON.toJSONString(yaml.load(new FileInputStream(file))), User.class); System.out.println(user); } } class User { private String uid; private String name; private String sex; private int age; @Override public String toString() { return "User [uid=" + uid + ", name=" + name + ", sex=" + sex + ", age=" + age + "]"; } public String getUid() { return uid; } public void setUid(String uid) { this.uid = uid; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
相關推薦
使用IO進行Yaml檔案的讀寫
前言 可能是自己對yaml檔案不夠了解吧,想做一個yaml檔案的讀寫,在網上搜到的例項都是使用yaml.dump(),我也這麼跟著做,但使用該方法的yaml檔案始終在開頭有兩個!!,導致沒辦法使用yaml.load()進行讀取.最後看到一個yaml.dumpAs
python yaml檔案讀寫
import yaml yaml_dict={"sss":"111","ddd":"222"} with open("a.yaml", "w") as f: yaml.safe_dump(yaml_dict,f,encoding='utf-8', allow_unicode=Tr
java的IO流和檔案讀寫
IO流 IO流分類 按資料流向分:輸入流、輸出流 按資料型別分:位元組流(x xInputStream 讀,xxOutputStream寫)、字元流(xxRead讀,xxWrite寫) 如果資料所在的檔案通過windows自帶的記事本開啟並能
opencv學習(十七)之XML和YAML檔案讀寫操作
可能大部分人到現在接觸的XML和YAML檔案很少,等以後訓練人臉模型進行人臉識別的時候用的就多了。現在先了解一下這兩種檔案型別。 XML:Extensible Markup Language,可擴充套件標記語言,標準通用語言的子集,是一種用於標記電子檔案使其具
利用標準C語言庫函式進行文字檔案讀寫
利用C語言進行檔案操作的方法有多種。其中包括在UNIX系統環境下利用系統介面進行檔案操作;在windows系統下可以利用windows系統下可以利用fopen_s等庫函式的安全版本進行檔案操作。但是用的最多的就是利用標準庫函式進行檔案操作。本文主要介紹利用C標準庫函
使用Python進行二進位制檔案讀寫
總的感覺,python本身並沒有對二進位制進行支援,不過提供了一個模組來彌補,就是struct模組。 python沒有二進位制型別,但可以儲存二進位制型別的資料,就是用string字串型別來儲存二進位制資料,這也沒關係,因為string是以1個位元組為單位的。 import
對彩色YUV視訊進行二進位制檔案讀寫時候的注意事項
開啟並讀寫YUV彩色視訊時,在寫yuv時候,開始用的是fopen(“.......”,"r+");結果視訊yuv檔案,有很厲害的抖動和顏色的偏移。後來改成如下,即fopen(“.......”,"rb");但是在寫的時候使用的fopen(yuvImageName,"r+")
Python檔案&IO處理技巧(1): 讀寫、重定向、間隔符、路徑、存在性與檔案列表
1. 文字資料的讀寫 open() & write() : rt模式的重新整理模式 當我們需要讀寫各種不同編碼的文字資料(如ASCII,UTF-8或UTF-16編碼等), 可以直接使用帶rt模式的open()內建函式。如果需要將文字內容寫入到一個檔案中,就要使用帶有 w
Python IO-檔案讀寫
檔案File操作流程: 1.開啟檔案:建立程式與檔案的聯絡 語法:file_obj = open(filename, mode) filename: 原字串 r’c:\temp\text.txt
Python檔案&IO處理技巧(1): 讀寫、重定向、間隔符、路徑、存在性與檔案列表
1. 文字資料的讀寫 open() & write() : rt模式的重新整理模式 當我們需要讀寫各種不同編碼的文字資料(如ASCII,UTF-8或UTF-16編碼等), 可以直接使用帶rt模式的open()內建函式。如果需要將文字內容寫入到一個檔案中,就要使用帶有
Python基礎筆記_Day13_Python檔案讀寫IO、異常、自定義異常
Day13_Python檔案讀寫IO、異常、自定義異常 13.01_Python語言基礎(檔案概述)(熟練) 13.02_Python語言基礎(檔案開啟關閉)(掌握) 13.03_Python語言基礎(檔案的讀寫)(掌握) 13.04_Python語言基礎(製作檔案的備份)(掌握) 13
java中使用檔案輸入流和檔案輸出流進行檔案讀寫的用例!
package com.cfkyit.io; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutp
ruby檔案讀寫的好文章 ruby way之IO之一
http://simohayha.javaeye.com/blog/153398 1 開啟和關閉一個檔案 類方法File.new 開啟一個檔案,並將它例項化為一個File物件,他的第一個引數是檔名. 可選的第二個引數叫做 mode string(這個也是從c得來的)
python pandas IO tools 之read_csv檔案讀寫引數詳解
python pandas IO tools 之csv檔案讀寫 讀取csv檔案:pd.read_csv(),寫入csv檔案:pd.to_csv() pandas還可以讀取一下檔案: read_csv, read_excel, read_hdf,
Python之IO程式設計——檔案讀寫、StringIO/BytesIO、操作檔案和目錄、序列化
What is your name? Eric We'll remember you when you come back, Eric!否則,輸出將如下:Welcome back, Eric! 1.3重構 你經常會遇到這樣的情況:程式碼能夠正確地執行,但可做進一步的改進——將程式碼劃分為一系列完成
Hadoop程式設計學習(四):使用FileSystem類進行檔案讀寫及檢視檔案資訊
http://www.cnblogs.com/beanmoon/archive/2012/12/11/2813235.html 在這一節我們要深入瞭解Hadoop的FileSystem類——這是與與hadoop的檔案系統互動的重要介面。雖然我們只是著重於HDFS的實現,但
Java檔案讀寫IO/NIO及效能比較總結
幹Java這麼久,一直在做WEB相關的專案,一些基礎類差不多都已經忘記。經常想得撿起,但總是因為一些原因,不能如願。 其實不是沒有時間,只是有些時候疲於總結,今得空,下定決心將丟掉的都給撿起來。 檔案讀寫是一個在專案中經常遇到的工作,有些時候是因為維護,有些時候是新功能開發
從哪些方面對Android檔案讀寫進行測試?
一、檔案讀寫基本介紹 檔案的讀寫操作在實際的手機開發中非常常見,比如記錄資料以及App的版本號、作為某些開關觸發過的標記、甚至儲存書籤等,由於目前的主流智慧手機作業系統(如Android,iOS)都是基於Linux/Unix進行開發的,故檔案的讀寫也有著相較於一般Windows系統更為複雜的特性,比如擁
PGM格式影象檔案讀寫
private int mWidth; private int mLength; private int mColor;
Java 之 檔案讀寫及效能比較總結
Java 之 檔案讀寫及效能比較總結 2014年05月12日 17:56:49 閱讀數:21765 幹Java這麼久,一直在做WEB相關的專案,一些基礎類差不多都已經忘記。經常想得撿起,但總是因為一些原因,不能如願。 其實不是沒有時間,只是有些時候疲於總結,今得空,下定決心