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();
}
/**
* change the content to a string.
*
* @param file
* @return the content of file.
*/
public static final String fileInputStream2String(InputStream is) {
BufferedReader br;
StringBuilder strBlder = new StringBuilder("");
try {
br = new BufferedReader(new InputStreamReader(is));
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 中的 16 进制与字符串的相互转换函数分类。 将 byte 数组以 16 进制的形式打印到控制台 在 Java 中,我们可以使用 `printHexString` 函数将 byte 数组以 16 进制的形式打印到控制台。该函数...
总之,16进制ASCII与字符串的相互转换是编程中基础但关键的操作,它涉及到字符编码、数据表示以及字符串处理等核心概念。理解并能熟练应用这些转换技巧,对于提升编程能力,特别是在处理二进制数据时,是非常有帮助...
默认情况下,Java字符串使用UTF-16编码。相反,从字节数组还原字符串时,同样需要指定或推断正确的字符编码。 **字符串转byte数组** 1. **方法一**:使用`getBytes()`方法。这是最直接的方法,例如`byte[] bytes =...
在计算机科学中,尤其是编程领域,我们经常需要将字符串和Base64编码进行互相转换。下面我们将详细探讨这个过程: 1. **字符串到Base64的转化**: 当我们需要将一个字符串(通常由ASCII字符组成)编码为Base64时,...
1. **二进制转字符串**:将二进制数据转换为字符串。这通常涉及到将二进制数据视作一系列字节,然后用某种编码(如ASCII、UTF-8等)解释这些字节,生成对应的字符序列。例如,一个字节的二进制值`01001000`对应ASCII...
Java字符串和数组是Java编程语言中的基本概念,对于任何Java开发者来说,理解和掌握它们都是至关重要的。在这21页的PDF教程中,我们很可能会深入探讨这两个核心主题。 首先,让我们来谈谈Java中的字符串。在Java中...
本文将详细介绍如何利用Google Gson库进行JSON字符串与对象之间的相互转换。 首先,我们需要了解Gson的核心概念。Gson库通过`Gson`类来实现JSON与Java对象的转换。当你有一个Java对象并想将其转化为JSON字符串时,...
在IT领域,图片和字符串之间的转换是一种常见的需求,特别是在数据存储、编码解码以及信息安全等方面。...通过理解以上知识点,开发者可以有效地利用这个工具类进行图片和字符串的相互转换,满足各种实际需求。
Java 文件转换应用源码项目是一个基于Java 1.8开发的实用工具,它提供了丰富的文件转换功能,包括PDF与Word之间的互相转换、图像格式转换、PDF转为图片以及Base64编码与文件之间的相互转换。这个项目对于需要处理...
在Android开发中,数据交换和持久化经常涉及到实体类(Entity Class)与JSON字符串之间的转换。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。实体...
在Java开发中,JAXB(Java Architecture for XML Binding)是一个标准的API,用于将XML文档与Java对象之间进行互相转换。这个技术对于处理XML数据,尤其是解析和生成XML文档非常有用。当我们面临XML文档中存在嵌套子...
### Java字符串操作方法 #### 1. 字符串查找方法 - **`indexOf(String str)`**:此方法用于查找指定子字符串在当前字符串中首次出现的位置。如果找到,则返回该位置的索引值(从0开始);如果没有找到,则返回-1。 ...
标题中的“exe4j+sqljdbc4.jar+ojdbc4.jar+sql字符串与datetime相互转换”涉及了几个关键的IT知识点,包括Java程序打包、数据库连接以及数据类型的转换。下面我将逐一详细解释这些概念。 1. **exe4j**: exe4j是一个...
这段时间做一个项目,要求从服务器读取BASE64的字符串,解析成图片,向服务器发请求是相反,在网上参考了一些代码,弄好了,这里是JAVA文件
在Java编程中,将网络上的图片读取并转换为Base64字符串是一项常见的任务,尤其在Web开发中,这样的操作可以用于数据传输或者存储。Base64是一种编码方式,能够将二进制数据转化为可打印的ASCII字符,方便在网络上...
Java 二进制数据与 16 进制字符串相互转换方法 Java 中,二进制数据和 16 进制字符串是两种常见的数据表示形式,在实际编程过程中,我们经常需要将这两种格式相互转换。本文将详细介绍 Java 中二进制数据与 16 进制...
Gson是Google提供的一个开源库,它允许我们在Java对象和JSON字符串之间进行无缝转换。本文将深入探讨如何使用Gson库进行这种转化操作。 首先,我们需要引入Gson库。如果你使用Maven,可以在pom.xml文件中添加以下...
总结来说,Google的Gson库是Java开发中处理JSON数据的强大工具,它提供了一种简单且灵活的方式来将JSON字符串与Java对象相互转换,使得数据处理变得更加便捷。无论是在服务器端处理来自客户端的请求,还是在客户端...
在Java中,我们可以使用Base64进行图片和字符串之间的转换,这在很多场景下都非常实用。 首先,我们要理解Base64的工作原理。Base64将每3个8位字节(24位)的数据转换为4个6位字节(24位)的数据,然后通过一个编码...
这些库提供了将Java对象转化为JSON字符串以及将JSON字符串反序列化为Java对象的功能。以下是对JSON与Java类相互转化的详细讲解: 1. **Jackson库**: Jackson是Java中非常流行的JSON处理库,由 FasterXML 维护。它...