AceofHert
2016-12-03 06:44
采纳率: 78.6%
浏览 12.6k
已采纳

byte byt[] = new byte[1024];里1024是什么一意思

public class FileTest { // 创建类
public static void main(String[] args) {
File file = new File("word.txt");
try {

        FileOutputStream out = new FileOutputStream(file);

        byte buy[] = "我有一只小毛驴,我从来也不骑。".getBytes();
        out.write(buy);
        out.close(); 
    } catch (Exception e) {
        e.printStackTrace(); 
    }
    try {

        FileInputStream in = new FileInputStream(file);
        byte byt[] = new byte[1024];   //1024是什么意思
        int len = in.read(byt); 

        System.out.println("文件中的信息是:" + new String(byt, 0, len)); //这里的0是什么意思
        in.close(); 
    } catch (Exception e) {
        e.printStackTrace(); 
    }
}

}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • Readiay 2016-12-03 07:04
    已采纳

    byte byt[] = new byte[1024]; //1024是什么意思

    这里的1024是一个数字,表示这个byte数组的长度。

    首先纠正一下:关于数组定义时的写法

            // C语言经常这么些,java兼容这个写法。
            byte byt[] = new byte[1024];
    
            // 推荐这么写,你看main方法就知道String[] args 而不是 String args[]
            byte[] byt = new byte[1024];
    

    byte byt[] = new byte[1024]; 那么这里这个是什么意思呢?

    第一点:计算机中只认识两个数字,0 和 1. 因为电器特性决定的,就是电压有或者没有。电流在传输过程中有损耗,
    所以不能用电压几伏就表示几。

    第二点:因为只有0,或者1,所以 把存放0,或者1这种最小单元格称为位,就是bit。为什么叫位呢?
    可能像座位一样,要么有人坐,要么没人坐。

    第三点:将8个这样的位放一起,我们叫byte(也叫字节,两个byte就是字符)。
    将1024个这样的byte放一起,就是k,所以为什么是1024呢?因为刚好1k,有时候你会发现有512的。就是0.5K

    这个东西在内存中大概就长这样子:
    图片说明

    点赞 6 评论
  • Byte就是unsigned char~1024是分配的数组长度!亲

    点赞 评论
  • 傲骄鹿先生 2016-12-03 09:18

    byte byt[] = new byte[1024];

    byte是新建数组的类型,比如:String、int、double、float等
    byt[]是新建的数组;
    [1024]是数组的长度

    点赞 评论
  • _Me1ody 2016-12-03 10:03
    1. byte byt[] = new byte[1024]; //1024是什么意思

      byte数组的初始化,数组的长度为1024, 从你的代码看来表达的是每次从文件读取1024个字节。

    2. new String(byt, 0, len); //这里的0是什么意思
      这是将字节数组中角标为 0 到角标为 len-1 转化为字符串。
      第一个byt参数就是你定义的数据名;
      第二个0就是从数组里角标为0(也就是第一位)开始转换字符串;
      第三个len就是你读取文件所读到的字节个数。

    点赞 评论
  • 南瓜灯cc 2016-12-03 16:56

    1024为每次流读取的长度

    点赞 评论
  • yangqinghua1992 2016-12-04 17:09

    1024 表示你创建的 byte 数组长度是 1024,这个数组一共可以存储 1024 个 byte 类型的值。

    在你这个代码中:

                    FileInputStream in = new FileInputStream(file);  // 创建一个文件输入流,用于读取指定的文件
            byte byt[] = new byte[1024];   // 创建一个长度是1024的byte类型的数组,用于存储读取到的数据
            int len = in.read(byt);  // read方法表示读取,读取到的数据存到 byt 中,也就是上面创建的数组, len 接收到此次实际读取到的字节个数。
    
            System.out.println("文件中的信息是:" + new String(byt, 0, len)); // new String表示构建一个新的字符串,从byt数组中解码,从数组索引 0 开始,解码 len 个字节。
            in.close();  // 关闭流
    
    

    建议你再多学习一些关于IO流的知识,不难的,网上很多资料。

    点赞 评论

相关推荐 更多相似问题