一、字符串转换为文件
/**
* 将字符串写入指定文件(当指定的父路径中文件夹不存在时,会最大限度去创建,以保证保存成功!)
*
* @param res 原字符串
* @param filePath 文件路径
* @return 成功标记
*/
public static boolean string2File(String res, String filePath) {
boolean flag = true;
BufferedReader bufferedReader = null;
BufferedWriter bufferedWriter = null;
try {
File distFile = new File(filePath);
if (!distFile.getParentFile().exists()) distFile.getParentFile().mkdirs();
bufferedReader = new BufferedReader(new StringReader(res));
bufferedWriter = new BufferedWriter(new FileWriter(distFile));
char buf[] = new char[1024]; //字符缓冲区
int len;
while ((len = bufferedReader.read(buf)) != -1) {
bufferedWriter.write(buf, 0, len);
}
bufferedWriter.flush();
bufferedReader.close();
bufferedWriter.close();
} catch (IOException e) {
e.printStackTrace();
flag = false;
return flag;
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return flag;
}
二、文件转换为字符串
/**
* 文本文件转换为指定编码的字符串
*
* @param file 文本文件
* @param encoding 编码类型
* @return 转换后的字符串
* @throws IOException
*/
public static String file2String(File file, String encoding) {
InputStreamReader reader = null;
StringWriter writer = new StringWriter();
try {
if (encoding == null || "".equals(encoding.trim())) {
reader = new InputStreamReader(new FileInputStream(file), encoding);
} else {
reader = new InputStreamReader(new FileInputStream(file));
}
//将输入流写入输出流
char[] buffer = new char[DEFAULT_BUFFER_SIZE];
int n = 0;
while (-1 != (n = reader.read(buffer))) {
writer.write(buffer, 0, n);
}
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
if (reader != null)
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
//返回转换结果
if (writer != null)
return writer.toString();
else return null;
}
不想抛出太多的检查异常,如果你需要捕捉,就抛出吧。
注意:对于文件转换为字符串,存在一个编码问题。上面的file2String方法中,如果你不知道编码,调用时候方法设为null即可,此时使用系统默认的编码类型。
转自:http://222.77.181.26/bbs/thread-59833-1-1.html
分享到:
相关推荐
总结一下,Java中字符串转16进制ASCII涉及的关键点有: 1. `char`类型的字符与ASCII码的转换。 2. 使用`Integer.toHexString()`将ASCII码转换为16进制字符串。 3. 处理Unicode字符时,需要考虑字符集和编码方式。 ...
本篇文章将深入探讨16进制ASCII(美国标准信息交换代码)值与字符串之间的转换,这对于理解底层数据处理和编程实践至关重要。 ASCII码是一种字符编码标准,它为每个可打印或控制的字符分配了一个唯一的7位二进制数...
此文件内容实现baes64字符串和图片互转,和网上的方法大同小异,但是方法自己已测试,可以正常使用 ~
6. 文件组织:压缩包内的"图片字符串互转"可能是包含了源代码文件的目录,其中可能包括了实现上述功能的Java类,如`ImageStringConverter.java`,以及测试用例或者示例图片。 7. 安全与效率:虽然Base64编码可以使...
在编程领域,ASC和字符串之间的转换是常见的操作,特别是在处理字符编码时。ASC通常指的是ASCII码,...在阅读和分析《ASC和字符串互转.txt》这个文件时,你可以找到具体的实现细节,并进一步理解这种转换的原理和应用。
将XML与Map进行互转是常见的需求,特别是在处理配置文件或者进行数据序列化时。本篇文章将详细介绍如何使用DOM4J库来实现XML和Map之间的转换,并讨论带有属性、无属性、有根节点和无根节点的情况。 DOM4J是一个强大...
在IT领域,尤其是在Web开发中,图片文件与Base64编码字节数组字符串的转换是一种常见的操作。这种转换在不直接使用图片文件路径或URL,而是将图片数据嵌入到HTML、CSS或JavaScript中时非常有用。下面我们将详细探讨...
总之,"eclipse字符串下划线驼峰互转插件"是一个实用的开发辅助工具,它简化了字符串命名风格的转换过程,提高了开发效率。源码的开放性则为学习和扩展插件功能提供了可能性,有助于提升开发者的技术水平和对Eclipse...
1. **JAXB反序列化**:与序列化相反,你可以使用`Unmarshaller`从XML字符串或文件创建Java对象。`Unmarshaller`对象的`unmarshal()`方法会返回一个与XML对应的Java对象。 2. **DOM解析**:解析XML文件得到DOM树,...
Google Gson库提供了一个强大的工具,使得Java对象与JSON字符串之间的转换变得简单易行。本文将详细介绍如何利用Google Gson库进行JSON字符串与对象之间的相互转换。 首先,我们需要了解Gson的核心概念。Gson库通过...
本教程将深入探讨如何使用XStream进行Java类与XML文件之间的互转解析。 首先,我们需要引入XStream库。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.thoughtworks.xstream</groupId> ...
这些方法可能使用了Java的`java.text`或`java.nio.charset`包中的API来处理字符串的编码和解码,也可能使用了特定的字典文件来实现转换。 `zh2Hant.properties`和`zh2Hans.properties`是字典文件,它们存储了简体...
这些转换在处理文本内容、排版和样式时尤其有用,比如在网页与桌面应用程序之间进行数据交换,或者在不同平台和系统间共享文档。本文将详细介绍如何使用Java来实现这些转换。 首先,让我们来看看HTML和RTF的基本...
将Java Bean与XML进行互转是常见的需求,这有助于在不同系统间传递数据或者持久化对象状态。本篇将详细介绍两种常用的Java XML与Bean互转方法:XStream库和JAXB(Java Architecture for XML Binding)框架。 一、...
### JSON与Java对象互转:深入理解与实践 在现代软件开发中,JSON(JavaScript Object Notation)作为数据交换的标准格式之一,其轻量级、易于读写的特点使其成为跨平台数据传输的首选。Java作为一种广泛使用的编程...
5. **实体类转XML**:反之,使用`Marshaller`将Java对象序列化为XML字符串。例如,`marshaller.marshal(yourEntity, new StringWriter())`会返回一个XML字符串。 `MyTest`类可能是测试类,包含了一些示例用法,用于...
总之,通过理解颜色空间转换、图片数据的16进制表示,以及Java中的图像处理技术,我们可以实现YCbCr到RGB的转换,以及图片与16进制字符串之间的相互转换。这在图像处理、数据存储和网络传输等领域有着广泛应用。
这篇博客将探讨如何使用XStream库实现JavaBean到XML字符串以及XML字符串回转到JavaBean的过程。 首先,让我们了解XStream的基本概念。XStream由Johannes Brodskiy创建,它是一个基于Java的库,提供了简单且高性能的...
这段Java代码会迭代字符串中的每个字符,如果字符是繁体的,则打印出来。`isTraditionalChinese`方法需要具体实现,可以借助第三方库,如`OpenCC4j`或`Unihan Database`。 **使用第三方库:** 为了更准确和高效地...