A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yan5108652 中级黑马   /  2013-5-28 16:14  /  1981 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 yan5108652 于 2013-5-28 16:58 编辑

import java.io.*;
class FileWriterDemo
{
         publicstatic void main(String args[]) throws IOException
         {
                  char[] cha=new char[10*1024];  //10k的字符数组
                   for(intx=0;x<cha.length;x++)    //向数组中写入字符
                   {
                            cha[x]='a';
                   }
                   Strings=new String(cha); //10k的字符数组转成字符串
                  
//调用
FileWriter fw=new FileWriter("demo.txt");
                   fw.write(s);  //向流中写入字符串s
         }
}
注意这里没有使用flush(),或者close()方法,即没有任何清空动作。
编译执行后发现 demo.txt 文件中写入了8k的数据
                              
加入flush() 执行清空动作后,demo.txt中写入的是10k的数据。
疑问:8K是内存默认分配的缓冲区大小么,内存是怎么指定该大小的呢?

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

2 个回复

倒序浏览
看到你的头像  我就想吃
回复 使用道具 举报
默认应该是8096字节 也就是8K

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马