public class Propertiesextends Hashtable<Object,Object>
Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。
新建一个文件
内容为
键 1 = 值 1
键 2 = 值 2
…
使用此类可以对文件数据进行持久化保存
方法的使用
load(InputStream inStream);
从输入流中读取属性列表(键和元素对)。
1 2
| Properties pro = new Properties(); pro.load(new FileInputStream(相对路径或绝对路径));//此方法将抛出FileNotFoundException
|
getPropertiy(String key)
使用指定的键在此属性列表中搜索属性, 返回 String
getProperty(String key, String defaultValue)
用指定的键在属性列表中搜索属性。返回 String
setProperty(String key, String value)
如果存在了这个键, 则更改对应的值, 如果不存在, 则添加这个属性, 这个方法是调用 Hashtable 的 put 的结果
public void store(OutputStream out, String comments) throws IOException
写入文件中
1
| props.store(new FileOutputStream(相对路径或绝对路径), 说明);
|
Properties 综合使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| import java.io.*; import java.util.*; public class PropertiesTest { static Properties props = new Properties(); public static void main(String[] args) { Read(); System.out.println(props.getProperty("Teacher")); props.setProperty("Teacher","胡老大"); props.setProperty("Student","Code"); System.out.println(props.getProperty("Student")); Save(); Read(); for(int i = 0 ; i < 3; i++){ Scanner scan = new Scanner(System.in); System.out.println("请输入学生名字:"); String name = scan.next(); System.out.println("请输入学生年龄:"); int age = scan.nextInt(); System.out.println("请输入学生成绩"); int score = scan.nextInt(); Student stu = new Student(name,age,score); props.setProperty(stu.getName(), stu.getName() + "&" + stu.getAge() + "&" + stu.getScore()); } Save(); props.remove("Student"); Save(); Collection<String> cl = props.values(); for(String str : cl){ System.out.println(str); } } public static void Read(){ try { props.load(new FileInputStream("data.properties")); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void Save(){ try { props.store(new FileOutputStream("data.properties"), null); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
|