package com.ghca.policeintf.test;
import java.io.FileInputStream;
import java.io.IOException;
/**
* Created by DUDU on 2017/11/2.
*/
public class ReadFile2ByteArrayTest {
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("D:\\32位系统移植过来的文件\\1`.rar");
byte[] buffer = new byte[1024];
int totalReadCount = 0;
while(true) {
int remaining = buffer.length - totalReadCount;
// if (remaining > 0) {
// int currentReadCount = fis.read(buffer,totalReadCount,remaining);
// if (currentReadCount > 0) {
// totalReadCount = totalReadCount + currentReadCount;
// } else {
// break;
// }
// } else {//扩容buffer
// byte[] newBuffer = new byte[buffer.length * 2];
// System.arraycopy(buffer,0,newBuffer,0,totalReadCount);
// buffer = newBuffer;
// }
if (remaining <= 0) {//先扩容buffer
byte[] newBuffer = new byte[buffer.length * 2];
System.arraycopy(buffer,0,newBuffer,0,buffer.length);
buffer = newBuffer;
// remaining = buffer.length - totalReadCount;
continue;
}
int currentReadCount = fis.read(buffer,totalReadCount,remaining);
if (currentReadCount > 0) {
totalReadCount = totalReadCount + currentReadCount;
} else {
break;
}
}
System.out.println("总共读取字节数:" + totalReadCount);
System.out.println("buffer大小:" + buffer.length);
}
}
分享到:
相关推荐
本文将深入探讨`readFile`函数的使用,数据读取的基本概念,以及如何通过数组和图形来展示数据。同时,我们还将讨论滤波技术,频谱计算,以及分析频谱成分在提取信号中的应用。 首先,`readFile`函数是许多编程语言...
2. 错误处理:在使用`CreateFile`、`WriteFile`和`ReadFile`时,必须检查返回值,以便捕获和处理可能出现的错误。 3. 同步机制:当并发读写时,使用事件对象或其他同步机制防止数据丢失或交错。 4. 缓冲区管理:合理...
在给定的“c# USB通信readfile”项目中,开发者利用了readfile和writefile这两个关键API函数来完成C#程序与USB设备的数据交换。下面我们将深入探讨这些知识点。 首先,`readfile` API是Windows操作系统提供的一个...
本篇文章将深入探讨Hook API的核心概念、主要应用场景以及如何实现对ReadFile、WriteFile、LoadLibrary等关键API的挂钩。 首先,我们要理解什么是Hook API。在Windows操作系统中,Hook是一种机制,允许程序在其他...
2. **异常处理**:在异步操作中,如果没有妥善处理异常,可能会导致数据损坏。使用`try-catch`块捕获并处理可能出现的异常。 3. **异步流与缓冲区**:如果你手动管理缓冲区,可能需要确保它们足够大以适应文件内容...
对串口通信readfile()函数的详细解释,参数的用法等等,
在Windows操作系统中,进行文件操作时,程序员通常会利用系统提供的API函数,如`CreateFile`、`ReadFile`和`WriteFile`等。这些API提供了底层的文件访问能力,可以实现灵活且高效的文件操作。下面我们将详细探讨这些...
2. **定位读取位置**:如果需要从文件的特定位置开始读取,可以使用`seek()`函数改变文件指针的位置。 3. **读取数据**:使用`read()`函数读取一定数量的字节,或者使用`readline()`或`readlines()`逐行读取。 4. **...
vc++.net2008使用ceditview读文件,重载void CchartDoc::Serialize(CArchive& ar)将char转化为tchar,因为.net默认是unicode编码,不转化的话会乱码
2. 定位通达信安装路径,找到数据文件。 3. 编写解析函数,处理数据文件,将其转换为DataFrame。 4. 可能会包括数据清洗、异常处理等预处理步骤。 5. 存储或展示处理后的数据,如输出到CSV文件或直接在控制台打印。 ...
2. **readfile函数**: 这个函数用于读取文件内容。在C语言中,可以使用`fopen`打开文件,`fread`读取数据,然后用`fclose`关闭文件。`fread`需要指定缓冲区大小,因此在实现readfile时,需要考虑如何处理大文件,...
2. **循环读取多文件**:由于程序的名称包含“read-N-file”,我们可以推测它具有遍历并读取多个文件的能力。这通常会用到循环结构,如`for`循环,配合文件名列表或目录遍历函数来实现。 3. **GPS数据解析**:GPS...
2. 设备配置:通过DeviceIoControl发送特定的IO控制代码来配置设备,如选择接口或设置端点。 3. 读写操作:调用ReadFile和WriteFile进行数据传输,通常需要循环读写直到完成所有数据。 4. 清理:当操作完成后,关闭...
在Node.js中,fs模块负责文件系统的所有操作,而fs.readFile是其中用于读取文件内容的一个重要方法。本文将详细介绍fs.readFile方法的方法说明、语法、接收参数、使用实例以及实现源码,供需要操作文件系统的Node.js...
ReadFile_Servlet.class
python读取文件夹文件
在VB6(VB Visual Basic 6.0)中,处理超过2GB的大文件可能会遇到一些挑战,因为VB6的标准文件操作API(如Open、Input、Write等)在处理大文件时可能会受到限制。为了解决这个问题,我们可以利用Windows API中的`...
2. **编译脚本**:可能有一个或多个脚本文件,用于编译源代码并生成可执行文件。 3. **配置文件**:可能包含配置文件,用于设置编译选项、安装路径等。 4. **文档**:包括README文件,通常介绍如何安装、使用以及...
对于TSPLIB数据的提取以及TSP问题的贪婪算法解决,解决的是对称TSP问题,包括求出的解和最优解的精确度,最优解文件从官网可以获取
如果readfile和writefile是往管道里读写数据,那么有可能阻塞得更久 导致程序性能下降。为了解决这个问题,windows引进了重 叠io的概念,同样是上面的readfile和writefile,如果在createfile的时候设置了file_flag_...