博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java字符串与文件的互转
阅读量:7190 次
发布时间:2019-06-29

本文共 2054 字,大约阅读时间需要 6 分钟。

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即可,此时使用系统默认的编码类型。
本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/131928,如需转载请自行联系原作者
你可能感兴趣的文章
poj2814 拨钟问题
查看>>
攻城狮的自我营销
查看>>
Android 开发中隐藏输入法
查看>>
Installation Do I need to install pip?
查看>>
datatable-editor 单元格为null
查看>>
模拟并发请求
查看>>
java图像裁切
查看>>
Django 1.8扩展/自定义User
查看>>
使用apache daemon让java程序在unix系统上以服务方式运行
查看>>
WampServer 3.1.0 所需VC运行库下载及安装说明
查看>>
ThinkPHP 模板魔术常量
查看>>
添加非浮动的清楚元素围住浮动元素
查看>>
CentOS挂载NTFS盘符问题
查看>>
文档里组件中的methods方法调用
查看>>
Play 2.0 用户指南 - 异步HTTP编程 --针对Scala开发者
查看>>
Swift 2.0 异常处理
查看>>
Java学习之Xml系列二:xml按条件查询、xml递归遍历所有元素和属性
查看>>
Tomcat7 redis session共享
查看>>
用逻辑运算符实现三目运算符
查看>>
php的openssl_private_encrypt的python实现
查看>>