读写properties文件

读写properties文件,第1张

Java代码

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")


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12245419.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存