package tools;
import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
public class FileHelper {
//第一种获取文件内容方式
public byte[] readByte(String filePath) throws IOException {
File file = new File(filePath);
long fileSize = file.length();
if (fileSize > Integer.MAX_VALUE) {
System.out.println("file too big...");
return null;
}
FileInputStream fi = new FileInputStream(file);
byte[] buffer = new byte[(int) fileSize];
int offset = 0;
int numRead = 0;
while (offset < buffer.length
&& (numRead = fi.read(buffer, offset, buffer.length - offset)) >= 0) {
offset += numRead;
}
// 确保所有数据均被读取
if (offset != buffer.length) {
throw new IOException("Could not completely read file "+ file.getName());
}
fi.close();
return buffer;
}
//第二种获取文件内容方式
public byte[] readByte2(String filePath) throws IOException
{
FileInputStream in=new FileInputStream(filePath);
ByteArrayOutputStream out=new ByteArrayOutputStream(1024);
System.out.println("bytes available:"+in.available());
byte[] temp=new byte[1024];
int size=0;
while((size=in.read(temp))!=-1)
{
out.write(temp,0,size);
}
in.close();
byte[] bytes=out.toByteArray();
System.out.println("bytes size got is:"+bytes.length);
return bytes;
}
//将byte数组写入文件
public void WriteByteToFile(String path, byte[] content) throws IOException {
FileOutputStream fos = new FileOutputStream(path);
fos.write(content);
fos.close();
}
/* 方法1:
* 将byte数组(追加)写入文件
*
* */
public void AppendByteToFile(String path, byte[] content, boolean Appendable) throws IOException {
// 程序写好之后每次存储数据都刷新
//FileOutputStream fos = new FileOutputStream(path);
// 研究了一下,原来FileOutPutStream也可以设置模式的,只是和openFileOutput不一样 我这样写FileOutputStream fos=new FileOutputStream(_sdpath1,Appendable);就可以实现数据追加功能
FileOutputStream fos=new FileOutputStream(path,Appendable);
fos.write(content);
fos.write("\r\n".getBytes());
fos.close();
}
/**
* 方法二:
* 根据byte数组,生成文件
*/
public void AppendByteToFile(byte[] bfile, String filePath,String fileName) {
BufferedOutputStream bos = null;
File file = null;
try {
File dir = new File(filePath);
if(!dir.exists()&&dir.isDirectory()){//判断文件目录是否存在
dir.mkdirs();
}
file = new File(filePath+"\\"+fileName);
/* 使用以下2行代码时,不追加方式*/
/*bos = new BufferedOutputStream(new FileOutputStream(file));
bos.write(bfile); */
/* 使用以下3行代码时,追加方式*/
bos = new BufferedOutputStream(new FileOutputStream(file, true));
bos.write(bfile);
bos.write("\r\n".getBytes());
bos.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bos != null) {
try {
bos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
}
相关推荐
LPC546xx USB接口VBUS阈值设计:从原理到实践,解决冷启动与可靠性问题
在嵌入式USB接口设计中,VBUS信号不仅是电源线,更是设备连接检测与电源管理的核心。其电压阈值直接决定了USB物理层(PHY)能否正确识别主机并建立有效会话。理解VBUS的会话有效电压(Votg_sess_valid)与PHY有效电压(VBUS_valid)等关键参数,是确保接口稳定性的基础。这些参数影响着设备枚举的成功率、通信稳定性以及长期可靠性。在工程实践中,尤其是对于集成PHY的微控制器如NPC LPC546xx系列,VBUS的连接方案(直接连接或通过稳压器)需要根据设备供电模式(自供电/总线供电)
读取Java文件到byte数组的三种方式
【代码】读取Java文件到byte数组的三种方式。
ccproxy 6.61 注册机(纯绿/傻瓜/真正去除线程限制)
导读: 软件介绍 1、 CCPROXY 6.61 注册机(纯绿/傻瓜/真正去除线程限制) ***前言,这次的升级官方改动不大,据说只是为了不被某些软件当病毒*** 附件包中解压即免安装版,CcREGTOOLFF.exe为注册机。 本人继续向大家隆重推出《CCPROXY6.61哎呀……破解版》 还是那个提示: 在此之前,本人还是那句老话想提示大家,CCPROXY是
Java 读取文件到byte数组的三种方式
先上代码 工具类实现: package com.wang.chao.file.demo.read; import java.io.*; import java.nio.ByteBuffer; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; public final class FileReaderUtils { /** * 小文件读取,一次buffer缓冲,将全部文件内容读出,若不能一次
从稀疏表示到低秩表示(一)
确定研究方向后一直在狂补理论,最近看了一些文章,有了些想法,顺便也总结了representation系列的文章,由于我刚接触,可能会有些不足,愿大家共同指正。 从稀疏表示到低秩表示系列文章包括如下内容: 一、 sparse representation 二、 一、 sparse representation 1 sparsity 一个线性表示解决的问题如下图所示:
2026年软件测试职业院校技能大赛—ERP管理平台-采购入库模块Bug定位与查找
竞赛对接软件测试相关标准,以“ERP管理平台” 为被测系统,围绕软件测试领域的主流技术及工具,考查选手面 对实际问题的综合分析能力,对测试文档、测试用例的设计能力, 对单元测试、自动化测试、性能测试、接口测试等测试工具及方 法的掌握程度,检验选手团队协作能力、组织规划能力、方法运用能力等。
java获取一个byte字节里的某个bit值或连续的几个bit值
在java里,一个byte占8位 ( bit0-bti7 ),那我们怎么去获取其中的某个bit值或连续的几个bit值呢? 获取单个bit值: //b为传入的字节,i为第几位(范围0-7),如要获取bit0,则i=0 public int getBit(byte b,int i) { int bit = (int)((b>>i) & 0x1); return...
MyBatis-Plus 实战:敏感字段自动加解密支持模糊查询
本文基于MyBatis-Plus框架提出了一种全链路敏感字段加密方案。通过自定义TypeHandler实现数据入库自动加密和查询自动解密,结合重写LambdaQueryWrapper处理查询条件加密,并适配多种查询方式。方案核心包括:1)AESUtil工具类提供加解密基础能力;2)EncryptTypeHandler实现字段类型转换;3)实体类通过注解配置加密字段。该方案在保证数据安全的同时,对业务代码侵入性小,支持姓名、手机号等敏感信息的全流程加密处理,满足系统开发的安全需求。
java fileinputstream.read(byte[])_初学Java,IO流中FileInputStream采用byte[]方式读取
IO流中FileInputStream采用byte[]方式读取。相比单纯使用read()方法读取文件,采用byte[]方式读取占用资源较少,一次读取的量较大,也就是read(byte b[])。声明byte[]时采用静态初始化,这里让他每次读8byte输出时使用String(byte bytes[], int offset, int length)的方式输出,length就是最终read(byte...
低功耗设计-ir drop的signoff corner怎么选择?
2.tt的(tt85 是比较接近芯片真实工作情况的);我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?有要求就用要求的就好,没要求前两种看公司需求。3.signoff文档要求的;有几个方向,看公司需求吧。
14、PostgreSQL日志文件、系统统计与查询优化全解析
本文全面解析了PostgreSQL数据库中的系统统计、日志文件配置与查询优化技巧。详细介绍了如何利用pg_stat_statements模块进行性能监控,配置日志记录以发现潜在问题,并深入探讨了查询优化器的工作原理和优化策略。通过实际案例分析,展示了如何综合应用这些技术提升数据库性能。适合希望提升PostgreSQL性能与稳定性的数据库管理员和开发人员阅读。
java中的文件操作:读取写入byte[]字节流、string字符串、list列表
java中文件操作:读取文件成字节流,将字节流写入文件,按行读取文件成字符串列表,将字符串列表存储成文件,读取文件成字符串,将字符串写入文件。 主程序测试文件 //测试程序 public static void main(String[] args) { byte[] data=file2byte("test.txt"); //读取文件 ...
第十二段:基于env的重用
现代芯片的验证通常分为两个层次, 一是模块级别( block level, 也称为IP级别、 unit级别) 验证, 二是芯片级别( 也称为SOC级别) 验证。 一个大的芯片在开发时, 是分成多个小的模块来开发的。 每个模块开发一套独立的验证环境, 通常每个模块有 一个专门的验证人员负责。 当在模块级别验证完成后, 需要做整个系统的验证。 假设某个系统分成了三个模块,如下图: 这三个模块在模块级别验证时, 分别有自己的driver和s...
sqlite读写冲突 java_Mybatis在sqlite中无法读写byte[]类问题的解决办法
开发环境: springboot + mybatis plus场景:在DAO的bean中有byte[]类时,写入可以成功,但是读取不行。从错误栈中可以看到原因是:sqlite的driver中,JDBC4ResultSet没有实现以下接口:public Blob getBlob(int col)throws SQLException { throw unused(); }public Blob ge...
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
字节流 FileInputStream和FileOutputStream类 三种读写方法对比概述
文件操作 FileInputStream和FileOutputStream类 三种read方法对比概述流字节流FileInputStream及FileOutputStream类的构造方法代码测试read()以及write()三个方法各自性能及用法第一次读写代码------read()、write()方法第二次读写代码------read(byte[] b)、write(byte[] b)方法第三...
廖雪峰Python教程[完整版]
廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白
[Java基础]用流进行byte字节流的读写
用流进行byte字节流的读写 import java.io.ByteArrayInputStream; public class StringByteCount { static String str = "This 测试1"; int countStringByte(String str) { int count = 0; ByteArrayInputStream
Probability and Statistics - 4th edition
Probability and Statistics - 4th edition
java中byte,String,InputStream之间的转换
import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; /** * * @auth...
Java -- 保存byte[] 数据
//创建文件,将byte数据直接进行保存 private RandomAccessFile file_test; try { File file = new File("/sdcard/data.yuv"); if (file.exists()) file.delete(); file_test = new RandomAccessFile(file, "rw"); } catch (
java 打印byte数组内容_java中打印byte数组
JAVA字节转换 字节(Byte)简称:"B",字位(Bit)简称“b“, 1 个字位(Bit)=1 个二进制数, 1 个字节=8 个字位=8 个二进制数, 1 个汉字=2 两个字节=......“Java is Good!; InputStream input = new ByteArrayInputStream(content.getBytes()); int ch; while ((ch =...
浅谈java.io包中数据转换类Bits
有人说,若想看看完美优雅的继承和装饰,今天偶然间看到了一个并没有向外提供功能的io工具类Bits,简单分享下学习心得,有错误之处还望道友指出,谢谢 package com.gg; /** * 解析io包中的Bits这个类,可以看出这个类并没有被public修饰,所以只适合同包中的类相互访问,仅仅作为同包中做数据流转、切换 * 此例子来源于java1.8(代码是拷出来的) */ class...
InputStream、byte[]、File相互转换工具类
【代码】InputStream、byte[]、File相互转换工具类。
java中byte,String,InputStream之间的转换(转载)
[code="java"] import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; /** * * @author Andy.Chen * ...
java bit操作_转:一个bit操作的类
因为工作需要,需要操纵和读写一个Java的byte中每一位的值,所以昨天写了这么一个类。不知道有没有更好的方法,拿出来让大家看看吧!源代码:/*** @author 沈东良 Edward Shenshendl_s@hotmail.com* 2007-5-23 下午03:11:45*执行位操作***/public class BitUtil {/*** 把字节指定的位数设为1,不管原来该位是什么。*...
java byte 保存_Java -- 保存byte[] 数据
//创建文件,将byte数据直接进行保存private RandomAccessFile file_test;try {File file = new File("/sdcard/data.yuv"); //后缀自己定义if (file.exists())file.delete();file_test = new RandomAccessFile(file, "rw"); //可读写} ca...
java byte 与操作_关于Java中<字节流>和<字符流>的操作
在程序中所有的数据都是以流的方式进行传输或者保存的,程序需要数据的时候需要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流。可以通过下面的输入输出流关系图表示这种方式。在java.io包中流的操作主要有字节流、字符流两大类,并且两个都具备输入输出的操作。在字节流中输出数据主要使用OutputStream类完成,输入则是InputStream类。在字符流中输出数据主要使用Wr...
[Java核心API]IO流--随机访问文件RandomAccessFile
1.随机访问文件基础知识package day06file; import java.io.IOException; import java.io.RandomAccessFile; /** * java.io.RandomAccessFile 该类是基于指针形式读取文件数据的 */ public class RandomAccesFileDemo { public static voi
400



被折叠的 条评论
为什么被折叠?



