java向txt中写入字符串的几种方式以及效率

1 篇文章 0 订阅



1.PrintWriter

          try {
			PrintWriter pw=new PrintWriter("D://1.txt");
			for(int i=0;i<500000;i++){
			   pw.write("我是一颗自由小星星"); 
			}
			   pw.flush();
			   pw.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}


2.FileWriter

FileWriter writer;
	        try {
	            writer = new FileWriter("D://1.txt",true);
	            for(int i=0;i<500000;i++){
	               writer.write("我是一颗自由小星星");
	            }
	            writer.flush();//刷新内存,将内存中的数据立刻写出。
	            writer.close();
	        } catch (IOException e) {
	            e.printStackTrace();
	        }


3.FileOutputStream

                String str="我是一颗自由小星星";
                byte[] b = str.getBytes();
                File file=new File("D://1.txt");
		try { 
                        file.createNewFile();
			FileOutputStream  fos=new FileOutputStream(file);
			 for(int i=0;i<500000;i++){
				fos.write(b);
			 }
			 fos.flush();
			 fos.close();
			
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
4.FileWriter和BufferedWriter1
            FileWriter fw;
            File file=new File("D://1.txt");
try {fw = new FileWriter(file);BufferedWriter bw = new BufferedWriter (fw);for(int i=0;i<count;i++){fw.write("我是一颗自由小星星");}fw.close(); fw.close(); } catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}



5.FileWriter和BufferedWriter2

                FileWriter fw;
                File file=new File("D://1.txt");
try {fw = new FileWriter(file);BufferedWriter bw = new BufferedWriter (fw);for(int i=0;i<500000;i++){bw.write("我是一颗自由小星星");}bw.flush();bw.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}



6.PrintWriter和BufferedWriter3

                PrintWriter fw;
		try {
			fw = new PrintWriter("D://1.txt");
			BufferedWriter bw = new BufferedWriter (fw);
			for(int i=0;i<500000;i++){
			bw.write("我是一颗自由小星星");
			}
			bw.flush();
			bw.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}      


7.PrintWriter和BufferedWriter4

                PrintWriter fw;
		try {
			fw = new PrintWriter("D://1.txt");
			BufferedWriter bw = new BufferedWriter (fw);
			for(int i=0;i<500000;i++){
			fw.write("我是一颗自由小星星");
			}
			fw.flush();
			fw.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}      


8.OutputStreamWriter和BufferedWriter5

                OutputStreamWriter fw;
               File file=new File("D://1.txt");		
try {OutputStream outputstream =new FileOutputStream(file);fw = new OutputStreamWriter(outputstream);BufferedWriter bw = new BufferedWriter (fw);for(int i=0;i<count;i++){fw.write("我是一颗自由小星星");}fw.flush();fw.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}



执行效率对比

文件大小---15820KB


1---printWriter  time  383.0毫秒

2---fileWriter  time  394.0毫秒

3---fileOutputStream  time  4059.0毫秒

4---bufferedWriter1_FileWriter  time  258.0毫秒

5---bufferedWriter2_filewriter  time  167.0毫秒

6---bufferedWriter3_printwriter  time  178.0毫秒

7---bufferedWriter4_printwriter  time  176.0毫秒

8---bufferedWriter5_outputstreamwriter  time  269.0毫秒


文件大小---158203KB


1---printWriter  time  2383.0毫秒

2---fileWriter  time  2941.0毫秒

3---fileOutputStream  time  39663.0毫秒

4---bufferedWriter1_FileWriter  time  2374.0毫秒

5---bufferedWriter2_filewriter  time  1584.0毫秒

6---bufferedWriter3_printwriter  time  1913.0毫秒

7---bufferedWriter4_printwriter  time  1574.0毫秒

8---bufferedWriter5_outputstreamwriter  time  2500.0毫秒



文件大小---1582031KB

1---printWriter  time  22574.0毫秒

2---fileWriter  time  23056.0毫秒

3---bufferedWriter1_FileWriter  time  23106.0毫秒

4---bufferedWriter2_filewriter  time  16555.0毫秒

5---bufferedWriter3_printwriter  time  19872.0毫秒

6---bufferedWriter4_printwriter  time  17662.0毫秒

7---bufferedWriter5_outputstreamwriter  time  22536.0毫秒


文件大小---3515625KB

1---printWriter  time  51450.0毫秒

2---fileWriter  time  55853.0毫秒

3---bufferedWriter1_FileWriter  time  50722.0毫秒

4---bufferedWriter2_filewriter  time  35656.0毫秒

5---bufferedWriter3_printwriter  time  43913.0毫秒

6---bufferedWriter4_printwriter  time  37597.0毫秒

7---bufferedWriter5_outputstreamwriter  time  50935.0毫秒


文件大小---351562KB
1---bufferedWriter2_filewriter  time  4080.0毫秒

2---bufferedWriter3_printwriter  time  3855.0毫秒

3---bufferedWriter4_printwriter  time  3220.0毫秒


文件大小---351562KB
1---bufferedWriter2_filewriter  time  3809.0毫秒

2---bufferedWriter3_printwriter  time  3833.0毫秒

3---bufferedWriter4_printwriter  time  3176.0毫秒

文件大小---351562KB
1---bufferedWriter2_filewriter  time  3834.0毫秒

2---bufferedWriter3_printwriter  time  3878.0毫秒

3---bufferedWriter4_printwriter  time  3184.0毫秒


文件大小---351562KB
1---bufferedWriter2_filewriter  time  3969.0毫秒

2---bufferedWriter3_printwriter  time  3876.0毫秒

3---bufferedWriter4_printwriter  time  3315.0毫秒


文件大小---351562KB
1---bufferedWriter4_printwriter  time  4903.0毫秒

2---bufferedWriter2_filewriter  time  3035.0毫秒

3---bufferedWriter3_printwriter  time  3719.0毫秒

文件大小---351562KB
1---bufferedWriter3_printwriter  time  4003.0毫秒

2---bufferedWriter4_printwriter  time  4708.0毫秒

3---bufferedWriter2_filewriter  time  3871.0毫秒










评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值