java - 如果文件没有完全在最后一个字节结束会发生什么?
问题描述
例如,如果一个文件是 100 位,那么它将被存储为 13 个字节。这意味着最后一个字节的前 4 位是文件,后 4 位不是文件(无用数据)。
那么,在使用 java 中的 FileInputStream.read() 函数或其他编程语言中的类似函数读取文件时,如何防止这种情况发生呢?
解决方案
您会注意到,如果您曾经使用过汇编,则无法实际读取特定位。内存的最小可寻址位是一个字节,内存地址是指内存中的特定字节。如果你曾经使用过一个特定的位,为了访问它,你必须使用像这样的按位函数| & ^
所以在这种情况下,如果你以二进制形式存储 100 位,你实际上至少存储了 13 个字节,而一些位只是默认的为 0,所以结果是一样的。
推荐阅读
- c# - C#:默认情况下使 System.Data.Services.Client.DataServiceQuery 异步
- google-cloud-dataflow - Apache Beam:升级到 2.5.0 后出现异常
- vue.js - 页面在链接时也可以工作,但在重新加载时会中断
- angular - PrimeNG 标题模板
- c# - 如何使用 selenium 3.13.1 和 C# 使用默认配置文件启动 Firefox
- netsuite - 使用 PHPToolkit 的 Netsuite 基于令牌的身份验证 (TBA)?
- request-headers - 如何从 webhook 请求者获取 HTTPS 标头
- single-sign-on - 注册服务提供者时出现 SSOCircle 错误 0007
- vtd-xml - VTD-XML 元素片段不正确
- html - 单选按钮(作为按钮)流入框架