java StringBuffer读写文件

  • StringBuffer的优势
  1. 较String:String每更新一次就会new一个新的对象出来,更新次数上去之后,内存开销太大。而StringBuffer类型在更新(.append等操作)的过程中始终只有一个对象,开销大大减小。
  2. 较StringBuilder:StringBuilder和StringBuffer类拥有的成员属性以及成员方法基本相同,区别是StringBuffer类的成员方法前面多了一个关键字:synchronized,不用多说,这个关键字是在多线程访问时起到安全保护作用的,也就是说StringBuffer是线程安全的(所谓synchronized线程安全,就是在使用多线程时,“锁”住某对象/类的同一方法,防止多线程同时访问某方法,产生冲突,运行错误)。深入理解请看
  • 读写代码
 import java.io.*;

 public class FileIO_StringBuffer {
public static void main(String[] args) {
//读文件到Stringbuffer
StringBuffer sb = new StringBuffer();
String sourcePath = "C:\\Users\\Administrator\\Desktop\\1.txt";//源文件路径(*.*)
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(sourcePath));
String str;
while((str = br.readLine()) != null) {//逐行读取
sb.append(str);//加在StringBuffer尾
sb.append("\r\n");//行尾 加换行符
}
br.close();//别忘记,切记
}
catch(Exception e){
System.out.println(e.getMessage());
} //写入文件
String targetPath = "C:\\Users\\Administrator\\Desktop\\2.txt";//目标文件路径
File f = new File(targetPath);//新建文件
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(f));
bw.write(sb.toString());
bw.flush();
bw.close();
}
catch(Exception e) {
System.out.println(e.getMessage());
}
}
}

欢迎留言讨论!

java StringBuffer读写文件的更多相关文章

  1. java(IO)读写文件乱码转换UTF-8问题

    java(IO)读写文件乱码转换UTF-8问题 读取文件 String Content = ""; // 文件很长的话建议使用StringBuffer try { FileInpu ...

  2. java io读写文件

    java io读写文件相关阅读:http://www.cnblogs.com/wing011203/archive/2013/05/03/3056535.html public class DemoI ...

  3. JAVA多线程读写文件范例

    在写之前先声明,本文是基于之前在博客园网站上检索到的一份JAVA多线程读写文件的示例,我在写自己的程序时是在那位作者写的基础上做了改良,但已不记得原文的地址.如果有知情者,烦请帖出地址,我在此文上加入 ...

  4. Java基础--读写文件

    Java读写文件需要注意异常的处理,下面是一个例子 写文件 public class WriteFile { public static void write(String file, String ...

  5. SAE java应用读写文件(TmpFS和Storage)-----绝世好代码

    近期不少java用户都在提sae读写本地文件的问题,在这里结合TmpFS和Storage服务说说java应用应该如何读写文件TmpFS是一个供应用临时读写的路径,但请求过后将被销毁.出于安全考虑,sa ...

  6. SAE java应用读写文件(TmpFS和Storage)

    近期不少java用户都在提sae读写本地文件的问题,在这里结合TmpFS和Storage服务说说java应用应该如何读写文件TmpFS是一个供应用临时读写的路径,但请求过后将被销毁.出于安全考虑,sa ...

  7. 顺序、随机IO和Java多种读写文件性能对比

    概述 对于磁盘的读写分为两种模式,顺序IO和随机IO. 随机IO存在一个寻址的过程,所以效率比较低.而顺序IO,相当于有一个物理索引,在读取的时候不需要寻找地址,效率很高. 基本流程 总体结构 我们编 ...

  8. JAVA字节流(读写文件)

    InputStream此抽象类是表示字节输入流的所有类的超类.需要定义 InputStream 的子类的应用程序必须始终提供返回下一个输入字节的方法. int available()返回此输入流方法的 ...

  9. C# & JAVA:读写文件

    using System; using System.IO; using System.Text; namespace ConsoleApplication4 { class Program { pu ...

随机推荐

  1. ionic cordova platform add android Cordova failed to install plugin Error: ENOENT: no such file or directory AndroidManifest.xml

    问题描述: 在ionic 项目中出现编译android 的时候 出现 Cordova failed to install plugin  Error: ENOENT: no such file or ...

  2. mysql 开发基础系列6 数值与日期函数

    一. 数值函数 1.  abs(x) 返回x的绝对值 SELECT ABS(-0.8),ABS(0.8); 2.ceil(x) 返回大于x的最大整数 SELECT CEIL(-0.8),CEIL(0. ...

  3. 【原】gulp工作中的实战

    写这篇文章的目的是为了以后的项目中懒得再去配gulp,直接可以拿这篇博客中的来用,因为有时候配置还是挺烦人的. gulp相关插件的介绍 用法比较简单,假设大家都会用gulp,下面主要介绍一下一些插件的 ...

  4. Apache XBean相关说明,待补充

    前言 最近在看ActiveMQ5.15.0源码,发现ActiveMQ实际上是基于spring实现的,其配置文件activemq.xml中有个broker元素节点,使用的就是Apache XBean的配 ...

  5. python中执行该文件,就调用 mian 方法

    代码: test.py import student def main(): st = student.student(1001, 'tommy', 18) st.sing() st.dance() ...

  6. spring-boot(二)

    学习文章来自:http://www.ityouknow.com/spring-boot.html web开发 spring boot web开发非常的简单,其中包括常用的json输出.filters. ...

  7. [UWP]为什么ContentControl的ControlTemplate里放两个ContentPresenter会出问题(绕口)

    1. 简单的HeaderedContentControl 上周五收到反馈,在一个ContentControl的ControlTemplate中放两个ContentPresenter会出错.出错的例子是 ...

  8. 【ASP.NET MVC系列】浅谈ASP.NET MVC资源过滤和授权

    最近比较忙,博客很久没更新了,很多博友问何时更新博文,因此,今天就花了点时间,写了本篇文章,但愿大家喜欢. 本篇文章不适合初学者,需要对ASP.NET MVC具有一定基础. 本篇文章主要从ASP.NE ...

  9. vs javascript intellisence失效

    前些天写js的时候发现vs的提示都没了...纳闷但是没去了解原因. 今天实在是受不了了. 网上搜了一下,看到msdn文档上一句话,“通过使用 reference 指令,Visual Studio 能够 ...

  10. Go基础系列:空接口

    空接口 空接口是指没有定义任何接口方法的接口.没有定义任何接口方法,意味着Go中的任意对象都可以实现空接口(因为没方法需要实现),任意对象都可以保存到空接口实例变量中. 空接口的定义方式: type ...