IO関連のコレクション
- java.util.Propertiesコレクションがハッシュテーブルを拡張する(除去)
- プロパティクラスは、不変のプロパティセットを表します。プロパティが保存またはストリームからのストリームをロードすることができます
設定されたプロパティは、流れのユニークな組み合わせとIOのセットです
- メソッドは、プロパティセット、一時データ・セットを格納するために使用することができる、永続ストレージ・ドライブに書き込まれます
- この方法は、読み取りのセットを使用して、ハードディスク(キーと値のペア)でファイルを保存するように設定し、負荷のプロパティで使用することができます
- リストと属性の対応する値の各キーは文字列です。
- プロパティのコレクションは、複列の集合であり、一般的なデフォルト値は、文字列のキーであることに注意して
- オブジェクトのsetProperty(String型のキー、文字列値)は、Hashtableのputメソッドを呼び出します。
- 文字列のgetProperty(String型のキー)キーで値の値を見つけるためには、この方法は、同等の地図コレクションのget(key)メソッドであります
- セットする
stringPropertyNames()キーとそれに対応する値は文字列、同じ名前のキーが主な属性のリストに見つからない場合、デフォルトのプロパティリストには、さらに別のキーを含んであり、プロパティリストにキーのセットを返します。
private static void show01() {
//创建Properties对象,默认字符串
Properties properties = new Properties();
//使用setProperties();添加数据
properties.setProperty("No.1","王小帅");
properties.setProperty("No.2","王一帅");
properties.setProperty("No.3","王二帅");
//使用stringPropertyNames把Properties集合中的key取出放入set集合
Set<String> set = properties.stringPropertyNames();
//遍历set集合,取出Properties集合的每一个键
for (String key:set) {
//通过getProperty方法通过key获取value
String value = properties.getProperty(key);
System.out.println(key + ":"+value);
}
}
店舗方法
- 空店舗(OutputStreamのうち、文字列のコメント)
- 空店舗(ライターライター、文字列のコメント)
- パラメータ:
- 、バイトの出力ストリームを出したOutputStream、中国語を書きます
- ライターライター:文字出力ストリームは、あなたが中国を書くことができます
- 文字列のコメント:保存されたファイルについての説明何をするかではなく、中国では、デフォルトのUnicodeのエンコーディングを文字化けされます。空の文字列への一般的なコメント
- 手順を使用します
- プロパティのコレクションオブジェクトを作成し、データを追加
- 地面を失うことにバインドされたバイト/文字出力ストリームオブジェクトのコンストラクタを作成します。
- 持続ハードディスクストレージに書き込まれたストアのプロパティの収集、データ収集時間は、使用してください
- リリースリソース
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;
public class Propertiess {
public static void main(String[] args) {
try {
show01();
} catch (IOException e) {
e.printStackTrace();
}
}
private static void show01() throws IOException {
//创建Properties对象,默认字符串
Properties properties = new Properties();
//使用setProperties();添加数据
properties.setProperty("No.1","王小帅");
properties.setProperty("No.2","王一帅");
properties.setProperty("No.3","王二帅");
//使用字符输出流,绑定输出目的地
FileWriter writer = new FileWriter("b.txt");
//使用Properties的方法store,把集合中的临时数据,持久化写入文件中
properties.store(writer,"");
/*
# -comments注释类容
#Thu Sep 26 18:21:37 CST 2019
No.2=王一帅
No.1=王小帅
No.3=王二帅
*/
//使用字节输出流
properties.store(new FileOutputStream("a.txt"),"error");
/*
#error
#Thu Sep 26 18:27:58 CST 2019
No.2=\u738B\u4E00\u5E05
No.1=\u738B\u5C0F\u5E05
No.3=\u738B\u4E8C\u5E05
*/
//关闭流
writer.close();
}
}
loadメソッド
- オブジェクトのプロパティをメモリに読み込むことが鍵となることができます
- 無効負荷(、InputStreamであるinStream)
- ボイド負荷(リーダリーダ)、上記の方法を用いて
- 違い:コメントはありませんパラメータ
- 注:ファイル
- コネクタのファイルキーを読むこと= [、]他の記号の空間であってもよいです
- #キーと値のペアを使用して、コメントの始まりを読み取ることができません
- デフォルトの文字列を読んで、故意にテキストに引用されていません
package cn.learn.properties;
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;
public class Propertiess {
public static void main(String[] args) {
try {
show01();
} catch (IOException e) {
e.printStackTrace();
}
}
private static void show01() throws IOException {
//创建Properties对象,默认字符串
Properties properties = new Properties();
//使用字符输入流,绑定读取目的地
FileReader reader = new FileReader("b.txt");
//读取键值对进入集合,若有#开头的串不会被读取
properties.load(reader);
//遍历查看
Set<String> strings = properties.stringPropertyNames();
for (String key:strings) {
System.out.println(key+":"+properties.getProperty(key));
/*
No.2:王一帅
No.1:王小帅
No.3:王二帅
*/
}
//释放
reader.close();
}
}