filfieinputstream-关于fileInputStream在内存中存放的问题

问题描述

关于fileInputStream在内存中存放的问题
public class Downloads {
private static FileInputStream fileInput;
public static void main(String[] args) throws Exception{
String sourcePate = ""D:/new/1.txt"";
String restPate1 = ""D:/new/1(1).txt"";
String restPate2 = ""D:/new/1(2).txt"";
String restPate3 = ""D:/new/1(3).txt"";
File file = new File(sourcePate);
int len = (int)file.length();
byte[] buffer = new byte[len];
if(len%3==0){
int newLen=len/3;
fileInput = new FileInputStream(sourcePate);
fileInput.read(buffer 0 newLen);

FileOutputStream fileOutput1 = new FileOutputStream(restPate1);
fileOutput1.write(buffer 0 newLen);
fileInput.read(buffer 0 newLen);
FileOutputStream fileOutput2 = new FileOutputStream(restPate2);
fileOutput2.write(buffer 0 newLen);
fileInput.read(buffer 0 newLen);
FileOutputStream fileOutput3 = new FileOutputStream(restPate3);
fileOutput3.write(buffer 0 newLen);
}
}
}
我在文件1.txt中放入123456789读出来的三个文件1(1).txt1(2).txt1(3).txt为什么分别是123456789而不是123123123;

时间: 2024-09-15 09:38:38

filfieinputstream-关于fileInputStream在内存中存放的问题的相关文章

C/C++变量在内存中的存储

在C++语言中,有如下代码: char a; int b; int c; a='1'; b=1; printf("a = %x \r\n",a); printf("b = %x\r\n",b); c=a; printf("c = %x\r\n",c); 输出的结果是 a = 31 b = 1 c = 31 请按任意键继续. . . 这里 int型是4Byte char型是1Byet. a='1' 这条语句执行后,会在内存中分配1个字节大小的内存空

深入C/C++浮点数在内存中的存储方式详解_C 语言

任何数据在内存中都是以二进制的形式存储的,例如一个short型数据1156,其二进制表示形式为00000100 10000100.则在Intel CPU架构的系统中,存放方式为  10000100(低地址单元) 00000100(高地址单元),因为Intel CPU的架构是小端模式.但是对于浮点数在内存是如何存储的?目前所有的C/C++编译器都是采用IEEE所制定的标准浮点格式,即二进制科学表示法.在二进制科学表示法中,S=M*2^N 主要由三部分构成:符号位+阶码(N)+尾数(M).对于flo

C/C++的浮点数在内存中的存储方式分析及实例_C 语言

C/C++的浮点数在内存中的存储方式分析 任何数据在内存中都是以二进制的形式存储的,例如一个short型数据1156,其二进制表示形式为00000100 10000100.则在Intel CPU架构的系统中,存放方式为  10000100(低地址单元) 00000100(高地址单元),因为Intel CPU的架构是小端模式.但是对于浮点数在内存是如何存储的?目前所有的C/C++编译器都是采用IEEE所制定的标准浮点格式,即二进制科学表示法.        在二进制科学表示法中,S=M*2^N 主

link中发射调用函数的变量,在内存中究竟是怎么存放的?是静止不变的么?

问题描述 link中发射调用函数的变量,在内存中究竟是怎么存放的?是静止不变的么? link中发射调用函数的变量,在内存中究竟是怎么存放的?是静止不变的么? 解决方案 反射调用方法,和正常调用没有区别,只是正常调用编译器就直接将跳转到方法的指令写在程序中了,而反射多一个获取方法地址的操作. 如果是局部变量,还是在堆栈上的,并且在方法结束后回收.

computer-指令和数据均存放在内存中,计算机室如何区分它们是指令和数据的

问题描述 指令和数据均存放在内存中,计算机室如何区分它们是指令和数据的 指令和数据均存放在内存中,计算机室如何区分它们是指令和数据的 解决方案 在两部分寄存器里(貌似)

生命周期-java数据在内存中的存放问题

问题描述 java数据在内存中的存放问题 谢谢查看. 问题是这样的,作为java新手,最近老搞不明白数据在内存中到底存放位置的问题.查了许多资料后,得出个结论,请有错误的帮忙指正,谢谢. 基本类型的数值会存放在栈中,执行效率高:引用对象(不包括String类型)的数据放在堆中,堆灵活性高,容量可变长. 但是编译器在编译时候,基本类型中部分,称为直接量会为了效率高会直接生成放在常量区,其他都会在栈中生成,而且经过优化,如果是同一生命周期内栈数据是可以共享的,也就是有相同的数据的变量可以指向同个栈地

将MySQL的临时目录建立在内存中的教程

  MySQL 系统会在内存(MEMORY)和磁盘(MyISAM)中建立临时表,如何能知道在磁盘中建立了多少临时表以及在内存中建立多少临时表呢?你可以通过下面命令获知: mysql> SHOW GLOBAL STATUS LIKE 'Created_tmp%tables'; +-------------------------+----------+ | Variable_name | Value | +-------------------------+----------+ | Create

Android手机内存中文件的读写方法小结

  Android手机内存中文件的读写方法小结         这篇文章主要介绍了Android手机内存中文件的读写方法,实例总结了Android针对文件读写操作的相关技巧,非常具有实用价值,需要的朋友可以参考: 如何对手机内存中的文件数据进行读写呢? Context提供了领个方法来打开该应用程序的数据文件夹中的文件I/O流,具体如下: ? 1 FileInputStream openFileInput(String name) 打开应用程序的数据文件夹下的name文件对应的数据流 ? 1 Fi

堆和栈的问题-内存中的"堆"和"栈"的知识

问题描述 内存中的"堆"和"栈"的知识 Public static void changeStr(String str){ str="welcome"; } Public static void main(String[] args) { String str="1234"; changeStr(str); System.out.println(str); } 以这个体为例谁能给我解释一下关于 "堆",&q