2014年06月12日

Java中字符串与文件互转
本文介绍如何在Java中将字符串转换为文件或将文件转换为字符串的方法。提供了具体实现的代码示例,并讨论了在操作过程中需要注意的细节。
2014年06月12日  Java字符串与文件的互转
2009-02-2010:35:05
标签: 文件  字符串
原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处  、作者信息和本声明。否则将追究法律责任。 http://lavasoft.blog.51cto.com/62575/131928
Java字符串与文件的互转
 
Java中有时候需要读取一个文本类的文件,将其转换为字符串,然后做进一步处理。Java中没有现成的API方法,自己手动实现一个,大家来分享。
 
一、字符串转换为文件
                 
                public  static  boolean  string2File(Stringres, String filePath) { 
                                boolean  flag=  true
                                BufferedReaderbufferedReader =  null
                                BufferedWriterbufferedWriter =  null
                                try 
                                                FiledistFile =  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  (IOExceptione) { 
                                                e.printStackTrace(); 
                                                flag=  false
                                                return  flag; 
                                finally 
                                                if  (bufferedReader!=  null){ 
                                                                try 
                                                                                bufferedReader.close(); 
                                                                catch  (IOExceptione) { 
                                                                                e.printStackTrace(); 
                                                               
                                               
                               
                                return  flag; 
                }

 
二、文件转换为字符串
 
                 
                public  static  Stringfile2String(File file, String encoding){ 
                                InputStreamReaderreader =  null
                                StringWriterwriter =  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  (Exceptione) { 
                                                e.printStackTrace(); 
                                                return  null
                                finally 
                                                if  (reader!=  null
                                                                try 
                                                                                reader.close(); 
                                                                catch  (IOExceptione) { 
                                                                                e.printStackTrace(); 
                                                               
                               
                                //返回转换结果 
                                if  (writer!=  null
                                                return  writer.toString(); 
                                else  return  null
                }
 
不想抛出太多的检查异常,如果你需要捕捉,就抛出吧。
 
注意:对于文件转换为字符串,存在一个编码问题。上面的file2String方法中,如果你不知道编码,调用时候方法设为null即可,此时使用系统默认的编码类型。

本文出自 “熔岩” 博客,请务必保留此出处http://lavasoft.blog.51cto.com/62575/131928

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值