如何在Java项目中利用字符流实现一个io编程?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
创新互联建站专注骨干网络服务器租用十多年,服务更有保障!服务器租用,成都服务器托管 成都服务器租用,成都服务器托管,骨干网络带宽,享受低延迟,高速访问。灵活、实现低成本的共享或公网数据中心高速带宽的专属高性能服务器。
案例1:
读取一个文件并写入到另一个文件中,char[] 来中转。
首先要在E盘下创建一个文本文档,命名为test.txt,输入一些字符串。
public class Demo_5 { public static void main(String[] args) { FileReader fr=null; //文件取出字符流对象(输入流) FileWriter fw=null; //写入到文件(输出流) try { fr=new FileReader("e:\\test.txt"); //创建一个fr对象 fw=new FileWriter("d:\\test.txt"); //创建输出对象 char []c=new char[1024]; //读入到内存 int n=0; //记录实际读取到的字符数 while((n=fr.read(c))!=-1){ //String s=new String(c,0,n); fw.write(c,0,n); } } catch (Exception e) { e.printStackTrace(); }finally{ try { fr.close(); fw.close(); } catch (Exception e) { e.printStackTrace(); } } } }
打开D盘的test.txt文件,出现相同的字符串。
案例2:为了提高效率引入了缓冲字符流
依然实现读取一个文件并写入到另一个文件中,直接操作String。
public class Demo_6 { public static void main(String[] args) { BufferedReader br=null; BufferedWriter bw=null; try{ FileReader fr=new FileReader("e:\\test.txt"); //先创建FileReader对象 br=new BufferedReader(fr); FileWriter fw=new FileWriter("d:\\test1.txt"); //创建FileWriter对象 bw=new BufferedWriter(fw); String s=""; while((s=br.readLine())!=null){ //循环读取文件,s不为空即还未读完毕 bw.write(s+"\r\n"); //输出到磁盘,加上“\r\n”为了实现换行 } }catch(Exception e){ e.printStackTrace(); }finally{ try { br.close(); bw.close(); } catch (Exception e) { e.printStackTrace(); } } } }
打开D盘的test1.txt文件,出现相同的字符串。
总结:字节流操作对象byte,字符流操作对象char,缓冲字符流操作对象String。
看完上述内容,你们掌握如何在Java项目中利用字符流实现一个io编程的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!