`
飞天小女警
  • 浏览: 107193 次
  • 性别: Icon_minigender_2
  • 来自: 重庆
社区版块
存档分类
最新评论

Java字符串与文件的转换

阅读更多

Java中有时候需要读取一个文本类的文件,将其转换为字符串,然后做进一步处理。Java中没有现成的API方法,自己手动实现一个,大家来分享。

    一、字符串转换为文件

        /**
         * 将字符串写入指定文件(当指定的父路径中文件夹不存在时,会最大限度去创建,以保证保存成功!)
         *
         * @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即可,此时使用系统默认的编码类型。

 

 

分享到:
评论

相关推荐

    java字符串的各种编码转换

    ### Java字符串的编码转换 在Java中,处理不同字符集之间的字符串转换是一项常见任务。尤其是在处理国际化应用时,理解并掌握各种字符编码格式变得尤为重要。下面将介绍几种常见的字符编码格式以及如何在Java中实现...

    JAVA 字符串 操作

    在Java编程语言中,字符串...以上只是Java字符串操作的一小部分,实际开发中还有许多其他方法和特性,如国际化(I18N)、正则表达式等,都需要程序员灵活掌握。理解并熟练运用这些操作,能有效提高代码质量和效率。

    java16进制与字符串的转换.pdf

    Java 16进制与字符串的转换 Java 中的 16 进制与字符串之间的转换是非常重要的一种操作,特别是在数据存储和网络传输时。本文将详细介绍 Java 中的 16 进制与字符串的相互转换函数分类。 将 byte 数组以 16 进制的...

    java 字符串转16进制Ascii

    在Java编程语言中,将字符串转换为16进制ASCII值是一个常见的操作,尤其是在处理数据编码、网络通信或存储时。这个过程涉及到字符到数字的转换,并且通常使用`Character`类和`Integer`类的方法来完成。让我们深入...

    java 字符串a-z排序

    在Java编程语言中,对字符串中的字符进行a到z排序是一项常见的操作,特别是在处理文本数据或需要对字母顺序排列的场景。本知识点将详细讲解如何实现这个功能。 首先,我们需要理解字符串在Java中的本质。在Java中,...

    JAVA 字符串应用笔记

    字符串与字节之间的转换涉及到编码问题,如`getBytes()`和`new String(byte[], charset)`。Java默认使用平台的默认字符集,但应尽量明确指定如`getBytes("UTF-8")`。 以上内容是基于"JAVA 字符串应用笔记"可能涵盖...

    Java 字符串压缩和文件压缩代码

    在Java编程中,字符串压缩和文件压缩是常见的数据处理任务,尤其在大数据传输、存储优化等方面扮演着重要角色。本文将深入探讨Java中如何实现字符串和文件的压缩,以及涉及的相关技术。 首先,字符串压缩通常涉及到...

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

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

    java对象转换为json字符串或字符串数组

    在Java开发中,将Java对象转换为JSON字符串或字符串数组是一项常见的任务,特别是在与前端交互、数据存储或者网络传输时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...

    字符串文件

    - **二进制安全性**:Redis中的字符串类型能够存储任何形式的数据,包括但不限于文本、图片或其他二进制文件。 - **最大容量**:一个字符串类型的值在Redis中可以容纳的最大长度为512MB。这一限制对于大多数应用场景...

    JAVA可逆带秘钥字符串加密算法

    我们重点关注的文件`DESUtil.java`可能包含了使用DES算法进行字符串加密的实现。 DES是一种古老的加密算法,由IBM开发并在1977年被美国国家标准局采纳为标准。它使用56位的密钥对64位的数据块进行加密,其中8位用于...

    Java 字符串转换成点阵字库显示

    在Java编程中,将字符串转换成点阵字库显示是一种常见的需求,特别是在处理文本图形界面或者游戏开发时。点阵字库是一种将字符图形化表示的方式,它将每个字符用一系列像素点组成,每个点代表一个颜色(通常为黑白)...

    java实现字符转换成十六进制的ASCII码

    在Java编程语言中,将字符转换为十六进制表示的ASCII码是一项常见的任务,尤其是在处理字符串数据时。本文将深入探讨如何实现这个功能,并通过一个具体的示例代码`StringToAscii.java`进行演示。 首先,我们需要...

    java String 与各种进制字符之间的转换

    在Java编程语言中,String类是处理文本字符串的核心类,而与各种进制字符之间的转换是常见的编程需求。本文将详细探讨Java中如何进行String与二进制、八进制、十进制以及十六进制之间的转换。 首先,我们要了解进制...

    二进制与字符串之间的转换类CBinary

    1. **二进制转字符串**:将二进制数据转换为字符串。这通常涉及到将二进制数据视作一系列字节,然后用某种编码(如ASCII、UTF-8等)解释这些字节,生成对应的字符序列。例如,一个字节的二进制值`01001000`对应ASCII...

    字符串大小写转换.rar

    本压缩包文件“字符串大小写转换.rar”很可能包含了一些示例代码或教程,帮助我们了解如何在不同语言中进行字符串大小写转换。 首先,我们来看Python中的转换方法。Python提供了两种主要的函数来实现大小写的转换:...

    Java实现计算字符串表达式

    1. **解析字符串**:将输入的字符串转换为可理解的数据结构,如抽象语法树(AST)。这可以通过递归下降解析或使用现成的解析库如JavaCC或ANTLR来完成。 2. **处理运算符优先级**:确保正确的运算顺序,比如遵循...

    Java中字符串与byte数组之间的相互转换

    默认情况下,Java字符串使用UTF-16编码。相反,从字节数组还原字符串时,同样需要指定或推断正确的字符编码。 **字符串转byte数组** 1. **方法一**:使用`getBytes()`方法。这是最直接的方法,例如`byte[] bytes =...

    Java数组、向量与字符串

    3. **Java字符串(String)** 字符串是Java中处理文本的重要工具。虽然例子(3)没有直接涉及字符串操作,但在实际应用中,字符串处理经常与输入/输出结合。例如,从控制台读取用户输入时,通常会先读取字符串,再...

    java字符串与日期类型转换的工具类

    Java字符串与日期类型转换的工具类 Java字符串与日期类型转换的工具类是 Java 语言中非常重要的一种工具类,主要用于实现字符串与日期类型之间的转换。下面将详细介绍该工具类的实现和使用方法。 一、 Java 字符串...

Global site tag (gtag.js) - Google Analytics