package com.pccw.mobile.fixipapi.util; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.HashMap; import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.pccw.mobile.fixipapi.response.mode.UserInfo; public class UserConfig { private static Logger logger = LoggerFactory.getLogger(UserConfig.class); //file operation private FileReader fileReader; private BufferedReader bufferedReader; private Map<String, UserInfo> users; private static boolean isReady = false; private static UserConfig instanced = new UserConfig(); private UserConfig() { if (!isReady){ isReady = true; String path = SystemConfig.getUser_conf_path(); initConfiguration(path); } } public static UserConfig getInstanced() { return instanced; } public void initConfiguration(String filePath) { // first step, read file // second step, init configuration // third step, close red file if (filePath == null) { logger.info("file path is null"); return; } BufferedReader bf = null; Map<String, UserInfo> userMap = new HashMap<String, UserInfo>(); try { bf = readFile(filePath); if (bf == null) { logger.info("file is empty"); return; } String line = null; while ((line = bf.readLine()) != null) { String[] arr = line.trim().replace(" ", "").split(","); if (arr.length == 2) { UserInfo userInfo = new UserInfo(); userInfo.setUsername(arr[0]); userInfo.setPassword(arr[1]); userMap.put(arr[0].trim(), userInfo); } } if (userMap.size() > 0) { users = userMap; } } catch (FileNotFoundException e) { logger.error("action:config;error message:" + e.getMessage()); } catch (IOException e) { logger.error("action:config;error message:" + e.getMessage()); } finally { try { closeReadFile(); } catch (IOException e) { logger.error("action:config;error message:" + e.getMessage()); } } } protected BufferedReader readFile(String filePath) throws FileNotFoundException{ File file = new File(filePath); //read file fileReader=new FileReader(file); bufferedReader = new BufferedReader(fileReader); return bufferedReader; } protected void closeReadFile() throws IOException{ if (bufferedReader!=null){ bufferedReader.close(); } if (fileReader!=null){ fileReader.close(); } } public Map<String, UserInfo> getUsers() { if(users == null){ return null; } return users; } public UserInfo getUser(String userName){ if (userName==null){ return null; } if (users!=null){ return users.get(userName); } return null; } }
user.conf:
##http basic authorization #user & pwd information pccw,123 csl,888 SunMobile,000
相关推荐
为了确保`System.getProperty("user.dir")`返回正确的模块路径,我们需要对IDE的运行配置进行特定的设置。 首先,我们要理解`System.getProperty("user.dir")`这个Java系统属性。它返回的是当前工作目录,也就是...
这个压缩包`WebSite1`可能包含了一个实际的示例项目,通过分析和学习该项目,你可以更深入地理解如何在实践中应用这些配置技巧。记住,`web.config`是ASP.NET应用程序的神经系统,正确配置它对于应用的正常运行至关...
- SDK版本管理及配置。 - 模拟器和真机调试的基本操作。 3. **用户界面基础**: - 布局(Layout)的概念及其类型(如LinearLayout、RelativeLayout等)。 - 常用UI组件(如Button、TextView、EditText等)的使用...
本资源详细介绍了Linux下Firefox文件配置技巧,涵盖了配置文件夹的路径、管理配置文件、user.js文件的使用、userChrome.css文件的使用等方面的知识点。 一、配置文件夹的路径 在Windows系统中,配置文件夹的路径...
指南会提供一些用于调试RTEMS应用的技巧,以及如何使用RTEMS提供的工具来分析程序性能,优化系统行为。 这份用户指南是RTEMS项目的重要组成部分,它详细说明了RTEMS的内部工作原理和使用方法。开发者通过学习这份...
压缩包中的“USER”文件可能是一个用户手册或者用户指南,包含了关于如何使用这些STM32芯片的详细信息,包括电路设计建议、编程指南、调试技巧以及常见问题解答。通过这份资料,学习者可以逐步了解并实践STM32的开发...
在汽车电子领域,英飞凌科技(Infineon Technologies)是一家知名的半导体供应商,其产品广泛应用于各种汽车...通过USER_SBC.zip中的资源,开发者可以获取详细的文档和示例代码,进一步学习和实践TLE9262的配置技巧。
以上这些命令行技巧不仅适用于日常的网络管理和故障排查,对于想要深入了解Windows系统内部运作机制的技术人员来说也是非常有用的。通过实践这些命令,可以帮助用户更高效地管理和维护自己的计算机系统。
标题中的“irq_user.rar_Extras”暗示了这是一个与中断处理相关的Linux驱动程序,可能是用于Acer笔记本电脑的。"Acer WMI Laptop Extras for Linux v2.13.6." 描述表明,这是专为Acer笔记本设计的一个额外功能模块,...
8. **示例代码解析**:SPI_OLED_USER中的代码可能包含初始化函数,用于配置STM32的SPI接口;显示函数,用于将数据写入OLED;以及可能的图形或文本绘制函数。通过分析这些代码,可以学习如何实际操作SPI接口以及与...
### 学习雅虎用户界面库(Yahoo User Interface Library) #### 概述 《学习雅虎用户界面库》是一本详细介绍雅虎用户界面库(YUI)的书籍,由Dan Wellman编写,于2008年3月首次出版。本书主要面向Web开发人员和...
6. **高级功能**:可能包括对复杂场景的支持,如动态重配置、并行执行多个验证任务,以及支持高级验证方法学如UVM(Universal Verification Methodology)。 7. **故障排查与维护**:提供了常见问题的解决方案,...
标题中的“USER.rar_1SS_GSM_stm32-_基于GSM的”暗示这是一个关于STM32微控制器的项目,其中集成了GSM(Global System for Mobile Communications,全球移动通信系统)模块来实现特定的功能。这个项目可能是通过STM...
WebLogic 9.1.x 是一个企业级的Java EE应用服务器,由Oracle公司提供,用于部署和管理分布式应用程序。在本文中,我们将深入探讨WebLogic...在实际工作中,熟悉这些配置技巧将大大提高WebLogic服务器的管理和运维效率。
Siemens对本材料不做任何形式的保证,包括但不限于对适销性、特定用途适用性的默示保证,以及对知识产权不侵权的保证。对于因本出版物或其中信息引起或相关的任何直接、间接、附带或惩罚性损害、数据丢失或利润损失...
以下是一些来自《Tomcat权威指南》的配置技巧。 1. 配置系统管理(Admin Web Application) Tomcat提供了一个内置的管理工具,名为Admin Web Application,它允许管理员管理context、data source、用户和组等。在...
### SAMBA系统简介与smb.conf文件配置详解 #### 一、Samba系统概述 Samba,一个在开源世界中享有盛誉的...通过深入理解Samba的工作原理及`smb.conf`文件的配置技巧,可以极大提升网络资源的利用效率和管理便利性。
- **用户模式(User Mode)**:以提示符“>”显示,用于基本信息查询,不具备修改配置的权限。 - **特权模式(Privileged Mode)**:以提示符“#”显示,允许查看更详细的配置信息和执行诊断命令。 - **全局配置...