`
assen
  • 浏览: 62245 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java字符串与文件的互转

    博客分类:
  • IO
阅读更多
一、字符串转换为文件
        /** 
         * 将字符串写入指定文件(当指定的父路径中文件夹不存在时,会最大限度去创建,以保证保存成功!) 
         * 
         * @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
0
0
分享到:
评论

相关推荐

    java 字符串转16进制Ascii

    总结一下,Java中字符串转16进制ASCII涉及的关键点有: 1. `char`类型的字符与ASCII码的转换。 2. 使用`Integer.toHexString()`将ASCII码转换为16进制字符串。 3. 处理Unicode字符时,需要考虑字符集和编码方式。 ...

    16进制Ascll与字符串相互转换

    本篇文章将深入探讨16进制ASCII(美国标准信息交换代码)值与字符串之间的转换,这对于理解底层数据处理和编程实践至关重要。 ASCII码是一种字符编码标准,它为每个可打印或控制的字符分配了一个唯一的7位二进制数...

    base64字符串与图片互转

    此文件内容实现baes64字符串和图片互转,和网上的方法大同小异,但是方法自己已测试,可以正常使用 ~

    图片转字符串工具类

    6. 文件组织:压缩包内的"图片字符串互转"可能是包含了源代码文件的目录,其中可能包括了实现上述功能的Java类,如`ImageStringConverter.java`,以及测试用例或者示例图片。 7. 安全与效率:虽然Base64编码可以使...

    ASC和字符串互转

    在编程领域,ASC和字符串之间的转换是常见的操作,特别是在处理字符编码时。ASC通常指的是ASCII码,...在阅读和分析《ASC和字符串互转.txt》这个文件时,你可以找到具体的实现细节,并进一步理解这种转换的原理和应用。

    java xml和map互转

    将XML与Map进行互转是常见的需求,特别是在处理配置文件或者进行数据序列化时。本篇文章将详细介绍如何使用DOM4J库来实现XML和Map之间的转换,并讨论带有属性、无属性、有根节点和无根节点的情况。 DOM4J是一个强大...

    图片文件与Base64编码字节数组字符串互转

    在IT领域,尤其是在Web开发中,图片文件与Base64编码字节数组字符串的转换是一种常见的操作。这种转换在不直接使用图片文件路径或URL,而是将图片数据嵌入到HTML、CSS或JavaScript中时非常有用。下面我们将详细探讨...

    eclipse字符串下划线驼峰互转插件(附源码).7z

    总之,"eclipse字符串下划线驼峰互转插件"是一个实用的开发辅助工具,它简化了字符串命名风格的转换过程,提高了开发效率。源码的开放性则为学习和扩展插件功能提供了可能性,有助于提升开发者的技术水平和对Eclipse...

    JAVA对象与XML互转

    1. **JAXB反序列化**:与序列化相反,你可以使用`Unmarshaller`从XML字符串或文件创建Java对象。`Unmarshaller`对象的`unmarshal()`方法会返回一个与XML对应的Java对象。 2. **DOM解析**:解析XML文件得到DOM树,...

    利用Google Gson实现JSON字符串和对象之间相互转换

    Google Gson库提供了一个强大的工具,使得Java对象与JSON字符串之间的转换变得简单易行。本文将详细介绍如何利用Google Gson库进行JSON字符串与对象之间的相互转换。 首先,我们需要了解Gson的核心概念。Gson库通过...

    使用xstream进行java类与xml文件互转解析--代码

    本教程将深入探讨如何使用XStream进行Java类与XML文件之间的互转解析。 首先,我们需要引入XStream库。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.thoughtworks.xstream</groupId> ...

    java 繁体与简体互转源码工具类

    这些方法可能使用了Java的`java.text`或`java.nio.charset`包中的API来处理字符串的编码和解码,也可能使用了特定的字典文件来实现转换。 `zh2Hant.properties`和`zh2Hans.properties`是字典文件,它们存储了简体...

    Java实现HTML和RTF格式的互转

    这些转换在处理文本内容、排版和样式时尤其有用,比如在网页与桌面应用程序之间进行数据交换,或者在不同平台和系统间共享文档。本文将详细介绍如何使用Java来实现这些转换。 首先,让我们来看看HTML和RTF的基本...

    JavaXml及Bean互转

    将Java Bean与XML进行互转是常见的需求,这有助于在不同系统间传递数据或者持久化对象状态。本篇将详细介绍两种常用的Java XML与Bean互转方法:XStream库和JAXB(Java Architecture for XML Binding)框架。 一、...

    json与java对象互转

    ### JSON与Java对象互转:深入理解与实践 在现代软件开发中,JSON(JavaScript Object Notation)作为数据交换的标准格式之一,其轻量级、易于读写的特点使其成为跨平台数据传输的首选。Java作为一种广泛使用的编程...

    xml与实体类转换工具

    5. **实体类转XML**:反之,使用`Marshaller`将Java对象序列化为XML字符串。例如,`marshaller.marshal(yourEntity, new StringWriter())`会返回一个XML字符串。 `MyTest`类可能是测试类,包含了一些示例用法,用于...

    Ycbcr转RGB 以ppm图片打开、图片十六进制字符串互转

    总之,通过理解颜色空间转换、图片数据的16进制表示,以及Java中的图像处理技术,我们可以实现YCbCr到RGB的转换,以及图片与16进制字符串之间的相互转换。这在图像处理、数据存储和网络传输等领域有着广泛应用。

    使用xstream实现对JavaBean与xml字符串的互转

    这篇博客将探讨如何使用XStream库实现JavaBean到XML字符串以及XML字符串回转到JavaBean的过程。 首先,让我们了解XStream的基本概念。XStream由Johannes Brodskiy创建,它是一个基于Java的库,提供了简单且高性能的...

    scala java 简体、繁体互转换,判断是否为简体、繁体

    这段Java代码会迭代字符串中的每个字符,如果字符是繁体的,则打印出来。`isTraditionalChinese`方法需要具体实现,可以借助第三方库,如`OpenCC4j`或`Unihan Database`。 **使用第三方库:** 为了更准确和高效地...

Global site tag (gtag.js) - Google Analytics