`

java代码中利用map将从文件中读取的内容缓存起来 + 从属性文件中读内容放入hashmap中 + 判断是否有汉字、是否字符 +

 
阅读更多
    public static String getContent(String requestPage) throws IOException {
        try {
            String contentPage = (String) cacheContent.get(requestPage);
            if (contentPage == null) {
                String templatePath = AwsResourceReader.in.getString(requestPage);
                BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(templatePath), SpecialCharacterEncoding.CHINESE_ENCODING)); // 070827
                StringBuffer content = new StringBuffer();
                String line = br.readLine();
                while (line != null) {
                    content.append(line);
                    content.append("\n");
                    line = br.readLine(); 
                }
                br.close();
                contentPage = content.toString();    
                cacheContent.put(requestPage, contentPage);
            }return contentPage;
        } catch (IOException ioe) {
            Logger.logError("ContentPageReader getContent() Exception " + ioe);
            throw ioe;}   

 从.properties文件中读取内容,放入hashmap中

new Integer(AwsResourceReader.in.getInt("Customer.customer_per_page"));
public static final GenericResourceReader in = new AwsResourceReader("AwsResources_en_MY");
	FileInputStream fis = new FileInputStream(file);
  ResourceBundle resourceBundle = new PropertyResourceBundle(fis);
	Properties properties = new Properties();
	Properties.load(stream);
	Map lookup = new HashMap(properties);
  resourceBundle = ResourceBundle.getBundle(baseName, locale);

 是否含有汉字

    private static boolean hasChineseCharacter(String ms950String) {
        for (int i=0; i< ms950String.length(); i++) {
            int ascii = (int) ms950String.charAt(i);
            if ((int)ms950String.charAt(i) >= 256) {
                return true;
            }
        }
        return false;
    }

 是否是字符

//是否是字符 --sample--
public static boolean isAlpha(String input, boolean allowNull, boolean allowSpace) {
    boolean result = true;
    if (isEmptyString(input)) {
        result = allowNull;
    } else {
        for (int i = 0; i < input.trim().length(); i++) {
            char c = input.charAt(i);
            if (!Character.isLetter(c)) {
                if (c == ' ') {
                    result = allowSpace;
                } else {
                    result = false;
                }
            }
        }
    }
    return result;
}

 

分享到:
评论

相关推荐

    Xpath读取xml文件,实现文件缓存。

    当读取XML文件时,如果使用了缓存,那么首次加载文件后,其内容将被保存在内存中,后续的查询可以直接从内存中获取,避免了再次读取文件的开销。 5. **缓存策略**: 实现文件缓存时,通常需要设计合理的缓存策略。这...

    华为OD机试C卷- 文件缓存系统(Java & JS & Python).md-私信看全套OD代码及解析

    - 新文件与缓存中已存在的文件名相同时,不放入缓存。 - 新文件首次存入缓存时,访问次数不变,但访问时间更新为当前时间。 - 每次文件访问后,总访问次数加1,访问时间更新为当前时间。 - 任何两个文件的最近访问...

    如何使用Freemarker生成java代码

    3. **加载模板**:通过`TemplateLoader`加载模板文件,例如从类路径或文件系统中读取`.ftl`文件。 4. **创建数据模型**:定义一个Java对象或Map,用于传递数据到模板。 5. **生成输出**:使用`Template`对象的`...

    android本地缓存

    它维护一个字典(在Android中通常使用HashMap),存储每个缓存文件的信息,包括下载结束时间、开始时间、有效期、过期时间以及本地存储路径。例如: ```java Map, HashMap, String&gt;&gt; cacheDictionary = new HashMap...

    java必备知识点大全.pdf

    Java的基本数据类型:Java中的基本数据类型有byte、short、int、long、float、double、char和boolean。 冒泡排序:一种简单的排序算法,通过重复遍历要排序的数列,比较每对相邻元素,若前者比后者大,则交换它们。...

    Java基础知识的详细总结

    - `java.io`包提供了文件输入输出相关的类,例如读取文件的`FileReader`和写入文件的`FileWriter`。 - `java.util`包提供了一系列集合框架类,如`List`、`Set`和`Map`等,以及日期和时间操作的工具类。 - `java...

    java面试题整理

    - **继承**:继承允许新类从已有的类中获取属性和方法,父类是提供信息的类,子类是继承信息的类。 - **封装**:封装是将数据和操作数据的方法封装在类内部,对外提供接口来访问。它隐藏了实现细节,提高了代码的...

    java数据结构知识点集合.doc

    本文将详细介绍 Java 中的传统数据结构接口和类,包括枚举(Enumeration)、位集合(BitSet)、向量(Vector)、栈(Stack)、字典(Dictionary)、哈希表(Hashtable)以及属性(Properties)。此外,还将简要介绍 ...

    中级程序员必备面试题.txt

    其中,`keyExtractor`和`valueExtractor`用于从`Map.Entry`中提取键或值。 #### 设计考虑 - **处理null值**:可以在流处理中使用`.filter(Objects::nonNull)`过滤掉null值。 - **添加前缀**:使用`.map(item -&gt; ...

    java面试笔记整理,包含java,redis,kafka等

    - **equals** 方法用于判断两个对象的内容是否相等。 #### 二十八、Java关键字 - **控制流关键字:** if, else, switch, for, while, do, break, continue, return。 - **访问控制关键字:** public, protected, ...

    Java笔试面试题详解

    23. **控制台输入**:Java中,`Scanner`类可用于从控制台读取用户输入,如`Scanner scanner = new Scanner(System.in);`然后使用`scanner.nextLine()`或`nextInt()`等方法获取输入。 以上知识点涵盖了Java开发的多...

    java学习路线.docx

    - **变量与数据类型:** Java中的变量分为基本数据类型(如int、double、char等)和引用数据类型(如String、自定义类等)。掌握各种数据类型的使用方式以及变量声明规则。 - **运算符与控制流:** 学习算术运算符...

    SimpleJava.pdf

    - **Properties类**:Java中用于处理配置文件的标准类。 - **读写操作**:加载Properties文件到内存中,然后进行增删改查操作。 - **配置管理**:广泛应用于存储应用程序的配置信息。 #### 29. 监视器:Java同步的...

    struts2和hibernate 的帮助文档还有其他的帮助文档

    Struts2和Hibernate是Java开发中的两个重要框架,它们在构建Web应用程序时起着至关重要的作用。...虽然这里没有提供具体的文档内容,但在实际工作中,查阅这些文档将有助于解决各种问题,推动项目的顺利进行。

    java面试题及答案-非常全面(包括基础、网络、数据结构、算法及IT大厂面经)

    - **集合框架**:Java中的集合框架主要分为两种类型:`List` 和 `Set`。 - **List**:有序集合,可以包含重复元素。主要实现有`ArrayList`(基于数组)、`LinkedList`(基于双向链表)。 - **Set**:不允许重复...

    Java构建树形菜单的实例代码(支持多级菜单)

    在Java编程中,构建树形...总结来说,构建Java中的树形菜单需要定义一个菜单实体类,实现排序逻辑,然后通过递归方法构建树形结构。这个过程涉及到数据的获取、排序以及树形结构的构建,是Java Web开发中常见的操作。

    阿里巴巴校园招聘历年经典面试题汇总:C++研发 1

    21. **Bloom过滤器**:用于判断一个元素是否可能存在于集合中,允许一定概率的误判,适用于大数据场景下的空间效率需求。 22. **线程池**:线程池管理线程资源,避免频繁创建和销毁线程带来的开销,可以控制并发...

Global site tag (gtag.js) - Google Analytics