HarmonyOS 鸿蒙Next 修改ini后缀文件中的指定内容
HarmonyOS 鸿蒙Next 修改ini后缀文件中的指定内容
修改广告配置文件,
-
获取文件地址是 data/storage/el2/base/haps/entry/files/user/syscfg/qscfg.ini
-
通过 ide 查看实际地址是 /data/app/el2/100/base/com.xcsc.hmapp/haps/entry/files/user/syscfg.json
这个两个地址是同一个地址
- 如何修改文件里面 INITVIEWAD=0 值到 INITVIEWAD=1
2 回复
参考demo:
import fs, { ReadOptions, WriteOptions } from '@ohos.file.fs';
import { common } from '@kit.AbilityKit';
import { buffer } from '@kit.ArkTS';
@Entry
@Component
struct EditFileContentPage {
@State message: string = 'Hello World';
private context = this as common.UIAbilityContext
private filePath = this.context.cacheDir + '/test.ini'
build() {
Column() {
Button('保存到沙箱').onClick(() => {
this.context.resourceManager.getRawFile("test.ini",(err,value) => {
let file = fs.openSync(this.filePath,fs.OpenMode.CREATE | fs.OpenMode.READ_WRITE);
console.log(`${value.buffer.byteLength}`)
fs.writeSync(file.fd,value.buffer)
fs.closeSync(file.fd)
})
})
Button('修改文件').onClick(() => {
let file = fs.openSync(this.filePath,fs.OpenMode.CREATE | fs.OpenMode.READ_WRITE);
let buf = new ArrayBuffer(fs.statSync(file.fd).size)
//转arraybuffer
fs.readSync(file.fd,buf)
let buff = buffer.from(buf)
if (buff.includes('name')) {
let index = buff.indexOf('name')
buff.write('100',index+5,3)
}
let writeOptions: WriteOptions = {
length: buff.length,
offset:0
};
fs.writeSync(file.fd,buff.toString(),writeOptions)
fs.closeSync(file);
})
}
.height('100%')
.width('100%')
}
}
修改前内容: key=1 name=50 values=100
修改后: key=1 name=100 values=100
更多关于HarmonyOS 鸿蒙Next 修改ini后缀文件中的指定内容的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS(鸿蒙)系统中,修改.ini
后缀文件中的指定内容通常涉及到文件读取、内容解析、修改以及写回文件的过程。由于鸿蒙系统支持多种编程语言进行应用开发,这里提供一个基于Python的解决方案,因为Python在处理文本文件时非常直观且高效。
你可以使用Python的内置函数和库来完成这个任务。例如,使用open()
函数读取文件内容,使用字符串操作或正则表达式来定位并修改指定的内容,最后再将修改后的内容写回文件。
以下是一个简单的示例代码:
def modify_ini_file(file_path, section, key, new_value):
with open(file_path, 'r') as file:
lines = file.readlines()
in_section = False
modified_lines = []
for line in lines:
stripped_line = line.strip()
if stripped_line == f'[{section}]':
in_section = True
elif in_section and stripped_line.startswith(key + '='):
modified_lines.append(f"{key}={new_value}\n")
else:
modified_lines.append(line)
if in_section and not stripped_line: # End of section
in_section = False
with open(file_path, 'w') as file:
file.writelines(modified_lines)
# 调用函数,修改指定文件、节、键和值
modify_ini_file('path/to/your/file.ini', 'SectionName', 'KeyName', 'NewValue')
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html