`

一个实用的工具类(不断添加)

 
阅读更多
目前有的功能:
1. 将一个文件的所有内容读取的字符串。
2. 将字符串内容写到文件。
3. 将一个文件路径保存到一个临时文件。
4. 从临时文件读取一个文件路径。
5. 将一个字符串的首字母变小写。
package com.honda.dms.cdhp;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

public class UtilTools {

	/**
	 * change the content to a string.
	 * 
	 * @param file
	 * @return the content of file.
	 */
	public static final String file2String(File file) {
		BufferedReader br;
		StringBuilder strBlder = new StringBuilder("");
		try {
			br = new BufferedReader(new InputStreamReader(new FileInputStream(
					file)));
			String line = "";
			while (null != (line = br.readLine())) {
				strBlder.append(line + "\n");
			}
			br.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

		return strBlder.toString();
	}

	/**
	 * save string to a file(recover).
	 * 
	 * @param file
	 * @param content
	 * @return success flag.
	 */
	public static final boolean saveString2File(File file, String content) {
		try {
			BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
					new FileOutputStream(file)));
			bw.write(content);
			bw.close();
			return true;
		} catch (Exception e) {
			return false;
		}
	}

	public static final String changeFirstCharacterToLowerCase(
			String upperCaseStr) {
		char[] chars = new char[1];
		chars[0] = upperCaseStr.charAt(0);
		String temp = new String(chars);
		if (chars[0] >= 'A' && chars[0] <= 'Z') {
			upperCaseStr = upperCaseStr.replaceFirst(temp, temp.toLowerCase());
		}
		return upperCaseStr;
	}

	private final static String SYS_TEMP_FILE = System
			.getProperty("java.io.tmpdir") + "\\9884698793643198z.properties";
	private static Map<String, String> fileNames = null;

	/**
	 * get a file path from a system temp file.
	 * 
	 * @param keyOfFileName
	 * @return
	 */
	public static final String getAFilePathFromSysTempFile(String keyOfFileName) {
		if (null == fileNames) {
			fileNames = new HashMap<String, String>();
			loadFilePathsFromSysTempFile();
		}
		String path = fileNames.get(keyOfFileName);
		return null == path ? "" : path;
	}

	private static final boolean loadFilePathsFromSysTempFile() {
		try {
			if (!new File(SYS_TEMP_FILE).exists()) {
				new File(SYS_TEMP_FILE).createNewFile();
				return true;
			}
			Properties props = new Properties();
			InputStream in = new BufferedInputStream(new FileInputStream(
					SYS_TEMP_FILE));
			props.load(in);
			Enumeration<?> en = props.propertyNames();
			while (en.hasMoreElements()) {
				String key = (String) en.nextElement();
				String prop = props.getProperty(key);
				fileNames.put(key, prop);

			}
			return true;
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}
	}

	/**
	 * save a file path to a system temp file.
	 * 
	 * @param parameterName
	 * @param parameterValue
	 * @return
	 */
	public static final int saveAFilePathToSysTempFile(String parameterName,
			String parameterValue) {
		Properties prop = new Properties();
		try {
			InputStream fis = new FileInputStream(SYS_TEMP_FILE);
			prop.load(fis);

			OutputStream fos = new FileOutputStream(SYS_TEMP_FILE);
			prop.setProperty(parameterName, parameterValue);
			prop.store(fos, "Update '" + parameterName + "' value");

			fileNames.put(parameterName, parameterValue);
			return fileNames.size();
		} catch (IOException e) {
			e.printStackTrace();
			return -1;
		}
	}

}

分享到:
评论

相关推荐

    java 写Excel工具类

    本篇文章将详细介绍如何利用Java编写一个Excel工具类,以便于高效地操作Excel文件。 首先,我们需要引入一个Java处理Excel的库,Apache POI是一个广泛使用的开源库,它提供了API来创建、修改和读取Microsoft Office...

    java操作 工具类1.0

    在Java编程语言中,工具类(Utility Class)是包含各种静态方法的类,这些方法用于执行特定任务,通常不涉及实例化对象。...随着工具类的不断更新,我们可以期待更多的便捷方法被添加进来,以满足更多样的编程需求。

    史上最全的dotnet工具类基类大全

    本文将深入探讨“史上最全的dotnet工具类基类大全”,旨在为.NET程序员提供一个全面的参考资料,帮助他们更好地理解和利用这些基类来提升开发效率。 首先,让我们了解什么是.NET基类。在.NET环境中,基类通常指的是...

    Android xml 解析工具类

    Android XML 解析工具类是一个功能强大且实用的工具类,提供了多种方法来解析 XML 文档。该工具类提供了四种方法来获取 XML 节点的内容,分别是 getMarkString、getMarkString、getMarkStringList 和 ...

    Jfreechart包和工具类

    使用JFreeChart时,开发者首先需要实例化一个Chart对象,然后可以添加数据系列到图表中,配置图表的外观(例如标题、轴标签、图例等),最后将图表渲染到一个图形组件上,如Java的JPanel,以便在GUI应用中显示。...

    添加水印工具很好的工具哦

    【HA_Batch Picture Protector 1.4】可能就是这样一个批量处理图片水印的工具,能够高效地为大量图片添加水印,节省用户的时间和精力。 批量处理功能是这类工具的一大亮点。用户可以选择一个包含多张图片的文件夹,...

    ServiceStack.Redis操作工具类

    ServiceStack.Redis是一个强大的C#客户端库,用于与Redis内存数据存储进行交互。Redis是一个高性能的键值数据库,常被用作缓存、消息队列或数据存储解决方案。ServiceStack.Redis库为.NET开发者提供了全面的Redis...

    分页工具类

    本文将详细介绍一个基于Java编写的分页工具类及其工作原理,同时提及它使用了自定义标签,并分析其可能存在的不足之处。 首先,分页工具类的主要作用是帮助我们处理数据库查询结果的分页显示。在Java Web应用中,...

    C#基础工具类集合,DLL

    在C#编程中,工具类集合(DLL)是一种常见的代码组织方式,用于封装常用功能,以便在多个项目之间重用。这些工具类通常包含了各种实用方法,如字符串...在实际工作中,不断实践和迭代,使工具类集合更加完善和实用。

    iOS常用工具类集合

    提供的文件名“Tool”可能表示这个压缩包包含一个或多个工具类文件,可能以.m和.h的形式存在,分别代表实现文件和接口文件。在iOS项目中,这些工具类通常会被添加到项目的公用类别(Categories)或工具类(Utils)...

    Android-DevUtils是一个Android工具库主要根据不同功能模块封装快捷使用的工具类及API方法调用

    这里我们要介绍的是“Android-DevUtils”,一个专为Android开发者设计的工具库,它封装了一系列实用的工具类和API,旨在简化开发流程,让开发者能更便捷地完成项目开发。 Android-DevUtils的核心价值在于其模块化的...

    xss 检查工具类

    本文将详细介绍一个名为“XssMyTest”的XSS检查工具类,该工具可能是一个开源项目,由开发者分享在ITEYE博客平台上。由于没有提供具体的源代码或详细描述,我们将基于一般XSS检查工具的常见功能来探讨其可能包含的...

    vc工具类

    VC工具类主要指的是在Visual C++(简称VC++)环境中使用的各种工具和类库,尤其是Microsoft Foundation Class Library(MFC),它是一个C++类库,为Windows应用程序开发提供了丰富的接口和功能。MFC使得开发者能够用...

    FFmpeg工具类

    FFmpeg工具类是开源的多媒体处理工具,广泛应用于音频、视频的编码、解码、转换、流媒体处理等领域。它提供了强大的命令行界面,同时也支持通过编程接口(API)进行集成,可以方便地在各种软件项目中应用。FFmpeg的...

    C++中英文敏感词检测工具类

    本项目提供了一个C++实现的中英文敏感词检测工具类,该工具能够帮助开发者检查文本中是否存在特定的关键字,并在找到时进行替换,以保护数据的安全性和合规性。下面我们将详细探讨这个工具类的实现原理、功能特性...

    一个批量添加相机机型和拍摄参数的工具,后续「可能」添加其他功能

    标题中的“一个批量添加相机机型和拍摄参数的工具”指的是一个专门用于处理摄影器材数据的程序,它能够帮助用户快速地录入多台相机的型号信息以及对应的拍摄参数。这种工具在处理大量摄影设备数据时非常实用,比如...

    android 工具类

    在Android开发中,工具类(Utils Class)是程序员经常使用的一种设计模式,它封装了一些常用的功能,方便在各个模块之间复用,提高了代码的可维护性和...在实际开发中,不断优化和扩展工具类,以适应项目的不断发展。

    安卓开发框架工具类相关-工具类线程池日志自定义的控件程序崩溃捕捉处.rar

    在安卓应用开发中,工具类(Utils)、线程池(ThreadPool)、日志(Log)、自定义控件(Custom Widget)以及程序崩溃捕捉(Crash Handling)是五个非常关键的领域,它们共同构成了一个高效且健壮的应用程序的基础。...

    android快速开发工具类(优)

    总之,一个优秀的Android工具类库,特别是网络请求的`Api`工具类,应具备易用性、灵活性、高效性和健壮性,以满足开发者在快速开发过程中的各种需求。在实践中不断优化和完善,可以使代码更加简洁、高效,同时降低...

    excel相关工具类

    在"猥琐发育"的描述中,可能是指开发者在不断学习和完善Excel工具类的过程中,应保持低调和谨慎,不断积累经验。无论使用哪种工具或库,理解Excel的数据结构和API,以及熟悉所选编程语言的语法,都是至关重要的。在...

Global site tag (gtag.js) - Google Analytics