开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 130

huifeng/cppweb

forked from 寻根/cppweb
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
cppweb
/
library
/
java
/
stdx
/
ConfigFile.java
cppweb
/
library
/
java
/
stdx
/
ConfigFile.java
ConfigFile.java 4.20 KB
一键复制 编辑 原始数据 按行查看 历史
寻根 提交于 2020年09月05日 12:22 +08:00 . cppweb.1.0.0版本
package stdx;
import java.io.*;
import java.util.*;
public class ConfigFile implements Closeable{
class Data{
public String key = "";
public String val = "";
public String info = "";
public Data(String key, String val){
this(key, val, "");
}
public Data(String key, String val, String info){
this.key = key;
this.val = val;
this.info = info;
}
}
String filepath = null;
ArrayList<Data> vec = new ArrayList<Data>();
public ConfigFile(){
}
public ConfigFile(String path) throws IOException, FileNotFoundException{
open(path);
}
public void close(){
vec.clear();
}
public void save() throws IOException, FileNotFoundException{
save(filepath);
}
public boolean reload() throws IOException, FileNotFoundException{
return open(filepath);
}
public void save(String path) throws IOException, FileNotFoundException{
Utils.SetFileContent(path, toString().getBytes());
}
public boolean open(String path) throws IOException, FileNotFoundException{
String content = Utils.GetFileString(path);
close();
int pos = 0;
String msg = "";
String key = "";
String val = "";
String[] arr = content.split("\n");
for (String str : arr){
if (str.length() < 2 || str.charAt(0) == '#' || (str.charAt(0) == '-' && str.charAt(1) == '-')){
msg += str + "\n";
continue;
}
if ((pos = str.indexOf("=")) < 0){
msg += str + "\n";
continue;
}
if ((key = str.substring(0, pos).trim()).isEmpty()){
msg += str + "\n";
continue;
}
val = str.substring(pos + 1).trim();
vec.add(new Data(key, val, msg));
msg = "";
}
filepath = path;
return vec.size() > 0;
}
public String toString(){
String str = "";
String tag = Utils.IsLinux() ? "\n" : "\r\n";
for (Data item : vec){
str += item.info;
str += item.key + " = ";
str += item.val + tag;
}
return str;
}
public String get(String name){
int len = -1;
String val = "";
for (Data item : vec){
if (name.equals(item.key)){
val = item.val;
len = val.length();
if (len > 1 && ((val.charAt(0) == '\'' && val.charAt(len - 1) == '\'') || (val.charAt(0) == '\"' && val.charAt(len - 1) == '\"'))){
val = val.substring(1, len - 1);
}
break;
}
}
if (len < 0) return val;
if (val.isEmpty()) return val;
return Utils.Translate(val);
}
public int getInt(String name){
int val = 0;
String str = get(name);
if (Utils.IsEmpty(str)) return val;
try{
val = Integer.parseInt(str);
}
catch(Exception e){
e.printStackTrace();
}
return val;
}
public double getDoule(String name){
double val = 0;
String str = get(name);
if (Utils.IsEmpty(str)) return val;
try{
val = Double.parseDouble(str);
}
catch(Exception e){
e.printStackTrace();
}
return val;
}
public boolean set(String name, String data){
String val = data.replace("\r", "\\r").replace("\n", "\\n").replace("\t", "\\t");
for (Data item : vec){
if (name.equals(item.key)){
String str = item.val;
if (str.isEmpty()){
if (Utils.IsAmountString(val)){
str = val;
}
else{
str = "\"" + val + "\"";
}
}
else if (str.charAt(0) == '\'' || str.charAt(0) == '\"'){
str = "\"" + val + "\"";
}
else{
str = val;
}
return true;
}
}
if (Utils.IsAmountString(val)){
vec.add(new Data(name, val));
}
else{
vec.add(new Data(name, "\"" + val + "\""));
}
return true;
}
public void set(String name, Object val){
set(name, String.valueOf(val));
}
public void set(String name, boolean val){
set(name, val ? "true" : "false");
}
public HashMap<String, String> getMapData(){
int len;
String val;
HashMap<String, String> map = new HashMap<String, String>();
for (Data item : vec){
val = item.val;
len = val.length();
if (len > 1 && ((val.charAt(0) == '\'' && val.charAt(len - 1) == '\'') || (val.charAt(0) == '\"' && val.charAt(len - 1) == '\"'))){
val = val.substring(1, len - 1);
}
map.put(item.key, Utils.Translate(val));
}
return map;
}
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

基于C++开发的WEB服务器,支持C/C++、Python、Java等多语言混合开发WEB应用。
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/huifeng_github/cppweb.git
git@gitee.com:huifeng_github/cppweb.git
huifeng_github
cppweb
cppweb
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /