package com.LY
import java.io.BufferedInputStream
import java.io.FileInputStream
import java.io.FileOutputStream
import java.io.IOException
import java.io.InputStream
import java.io.OutputStream
import java.util.Enumeration
import java.util.Properties
public class TestMain {
// 根据key读取value
public static String readValue(String filePath, String key) {
Properties props = new Properties()
try {
InputStream in = new BufferedInputStream(new FileInputStream(
filePath))
props.load(in)
String value = props.getProperty(key)
System.out.println(key + value)
return value
} catch (Exception e) {
e.printStackTrace()
return null
}
}
// 读取properties的全部信息
public static void readProperties(String filePath) {
Properties props = new Properties()
try {
InputStream in = new BufferedInputStream(new FileInputStream(
filePath))
props.load(in)
Enumeration en = props.propertyNames()
while (en.hasMoreElements()) {
String key = (String) en.nextElement()
String Property = props.getProperty(key)
System.out.println(key + Property)
}
} catch (Exception e) {
e.printStackTrace()
}
}
// 写入properties信息
public static void writeProperties(String filePath, String parameterName,
String parameterValue) {
Properties prop = new Properties()
try {
InputStream fis = new FileInputStream(filePath)
// 从输入流中读取属性列表(键和扰滚帆元素对缓雹)
prop.load(fis)
// 调用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。
// 强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
OutputStream fos = new FileOutputStream(filePath)
prop.setProperty(parameterName, parameterValue)
// 以适合使用 load 方法加载到 Properties表中的格式,
// 将此 Properties 表中的属性列表(键和元素对)写入输出流
prop.store(fos, "Update '" + parameterName+ "备郑' value")
} catch (IOException e) {
System.err.println("Visit " + filePath + " for updating "
+ parameterName + " value error")
}
}
public static void main(String[] args) {
readValue("info.properties", "url")
writeProperties("info.properties", "age","22")
readProperties("info.properties")
System.out.println("OK")
}
}
用C语言读取properties配置文件的方法:1、找到配置卖漏此路径下的properties文件
2、按行读取文件内容
具体实现代码如下:
//定义读入的行数组,1024行
char line[1024]
//存放配置项数组setting
int setting[N],i = 0
//开始循环读入
while(fgets(fp,line,1024) != NULL)
{
//读入配置的值给中迅line变量
fscanf(line,"setting%*d = %d"搜陵,&setting[i++])
}
SharedPreferences android的系统缓存文件,也是properties文件的一种
获取SharedPreferences的两种方式:
1 调用Context对象的getSharedPreferences()方法
2 调用Activity对象的getPreferences()方法
两种方式的区别:
调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可销基以被同一应用程序下的其他组件共享.
调用Activity对象的getPreferences()方法获得祥拿的SharedPreferences对象只能在该Activity中使用.
SharedPreferences的四种 *** 作模式:
Context.MODE_PRIVATE
Context.MODE_APPEND
Context.MODE_WORLD_READABLE
Context.MODE_WORLD_WRITEABLE
Context.MODE_PRIVATE:为默认 *** 作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件.
MODE_WORLD_READABLE:表示当前文件可以谨斗搭被其他应用读取.
MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入.
将数据保存至SharedPreferences:
SharedPreferences preferences=getSharedPreferences("user",Context.MODE_PRIVATE)
Editor editor=preferences.edit()
String name="xixi"
String age="22"
editor.putString("name", name)
editor.putString("age", age)
editor.commit()
从SharedPreferences获取数据:
SharedPreferences preferences=getSharedPreferences("user", Context.MODE_PRIVATE)
String name=preferences.getString("name", "defaultname")
String age=preferences.getString("age", "0")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)