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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 黄鸿达 于 2013-2-9 23:40 编辑
  1. import java.io.*;
  2. public class FileReader {
  3.         public static void main(String[] args) throws IOException {
  4.                 FileReader fr=new FileReader("D:\\Demo.txt");
  5.                 //为什么定义1024的整数倍?
  6.                 char[] c=new char[1024];
  7.                 int num=0;

  8.                 while((num=fr.read(c))!=-1){
  9.                         System.out.println(new String(c,0,num));
  10.                 }

  11.         }

  12. }
复制代码
毕老师说定义把缓冲的数组定义1024的整数倍,我不懂,求解释

4 个回复

倒序浏览
因为计算机中的进位是1024,1m=1024k,1g=1024m,1t=1024g
所以定为1024的整数倍比较好算数。
这是基础中的基础啊~
回复 使用道具 举报
其实定义多少无所谓只要不过大就行,只是约定俗成吧
回复 使用道具 举报
定义成多少都可以,但是一般都是定义成1024的倍数,内存对齐?不知道JAVA里有没有内存对齐的机制。
回复 使用道具 举报
      朋友,定义成1024只是一种习惯。如果定义的数字小,那么单次读取的字符数也就相对较少。定义的数字较大,那么单次读取的内容也就相对较多,也能够减少读取的次数。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马