- 浏览: 269870 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (298)
- 工作感悟 (6)
- java基础 (23)
- 计算机硬件知识 (1)
- 计算机网络知识 (2)
- Struts (3)
- Srping (4)
- hibernate (0)
- ibatis (0)
- webservice (4)
- Thread (22)
- maven (5)
- ubuntu/linux/centos/redhat (46)
- SSO (1)
- ESB (0)
- 工作流 (0)
- oracle (15)
- 云计算 (1)
- hadoop (1)
- nosql (0)
- mysql (3)
- sqlserver (0)
- jquery (0)
- 分布式 (3)
- 集群 (0)
- 设计模式 (2)
- EJB (0)
- map (0)
- cache (5)
- Niginx+varnish+squid+Ats (14)
- Apache (0)
- 工作/职业规划 (0)
- Scala & Groovy (1)
- English (4)
- 数据结构/算法 (6)
- 开发工具 (5)
- 测试 (2)
- Exception (0)
- 定时器 (3)
- j2ee (2)
- 部署 (1)
- Openssl (1)
- 操作系统 (3)
- kvm (13)
- libvirt (5)
- PostgreSql (5)
- 虚拟化 (3)
- 概念理解 (1)
- virt-manager (1)
- RESTful (3)
- 其它 (4)
- ssh2 (14)
- windows (1)
- 房产 (2)
- svn (1)
- 手机 (1)
- ant (1)
- flume (2)
- sqoop (1)
- fastdfs (5)
- log4j (1)
- SPDY (1)
- mongodb (2)
- MQ (2)
- Mina (1)
- dubbo (4)
- PMP (1)
- Webshpere (2)
- jvm (1)
- Btrace (1)
- zookeeper (7)
- UML (1)
- spring cloud (6)
- spring boot (5)
- storm (0)
- 软件管理 (1)
- elasticsearch (1)
- 协议 (2)
- docker (1)
- 性能 (2)
- 安全 (1)
- 代码规范 (1)
- mqtt (1)
- lombok (1)
- 车联网 (1)
- kafka (1)
最新评论
将多个流合并成一个流
例:将多个文件合并到一个流中,再写到一个文件中:
合并文件
切割文件
SequenceInputStream(Enumeration<? extends InputStream> e) SequenceInputStream(InputStream s1, InputStream s2)
例:将多个文件合并到一个流中,再写到一个文件中:
Vector<FileInputStream> v = new Vector<FileInputStream>(); v.add(new FileInputStream("c:\\1.txt")); v.add(new FileInputStream("c:\\2.txt")); v.add(new FileInputStream("c:\\3.txt")); Enumeration<FileInputStream> en = v.elements(); SequenceInputStream sis = new SequenceInputStream(en); FileOutputStream fos = new FileOutputStream("c:\\4.txt"); byte[] buf = new byte[1024]; int len =0; while((len=sis.read(buf))!=-1) { fos.write(buf,0,len); } fos.close(); sis.close();
合并文件
ArrayList<FileInputStream> aList = new ArrayList<FileInputStream>();// 为什么要用list,因为Vector已经过时了。 for (int x = 1; x <= 4; x++) { aList.add(new FileInputStream("d:\\tmp\\" + x + ".part"));// 循环的将d:\\tmp\\下的part文件加入aList中 } final Iterator<FileInputStream> it = aList.iterator(); Enumeration<FileInputStream> en = new Enumeration<FileInputStream>() { @Override public FileInputStream nextElement() { // TODO Auto-generated method stub return it.next(); } @Override public boolean hasMoreElements() { // TODO Auto-generated method stub return it.hasNext(); } }; SequenceInputStream sis = new SequenceInputStream(en); FileOutputStream fos = new FileOutputStream("d:\\tmp\\aa.exe"); byte[] buf = new byte[1024 * 1024]; int len = 0; while ((len = sis.read(buf)) != -1) { fos.write(buf, 0, len); } fos.close(); sis.close();
切割文件
FileInputStream fis = new FileInputStream("d:\\tmp\\plsqldev.exe"); FileOutputStream fos = null; byte[] bytes = new byte[1024 * 1024 * 3]; int len = 0; int count = 1; while ((len = fis.read(bytes)) != -1) { fos = new FileOutputStream("d:\\tmp\\" + (count++) + ".part"); fos.write(bytes, 0, len); } fos.close(); fis.close();
发表评论
-
java io 之管道(PipedOutputStream和PipedInputStream)的简介,源码分析和示例
2017-09-27 10:39 308java 管道介绍 在java中, ... -
Java通过Executors提供四种线程池
2017-09-27 10:21 482Java通过Executors提供四种线程池,分别为: new ... -
Java同步注解(Annotation)解释
2017-09-18 18:18 1054JDK 5.0 以后增加了注解。就是@后面加一个名称。有其自身 ... -
url参数中出现+、空格、=、%、&、#等字符的解决办法
2017-03-08 15:31 624url出现了有+,空格,/,?,%,#,&,=等特殊符 ... -
Eclipse远程调试之Socket Attach与Socket Listen
2014-08-21 13:52 1709打个比方,被远程debug/监视 的进程就是一个风度翩翩的美少 ... -
关于java用jni调用 dll动态库Can't find dependent libraries错误的解决
2014-08-21 08:56 12721.package com.bsp.zauto.commo ... -
java 远程调试备忘
2013-12-11 16:45 888远程调试java程序 http://hi.baidu.com ... -
[转贴]System.getProperty()参数大全
2013-11-20 15:39 508一直做Web应用一般不会用到这些东西,今天在搞一个代码生成器的 ... -
Java Daemon线程
2013-09-05 13:27 629所谓守护线程就是运行 ... -
DelayQueue队列研究
2013-08-07 15:40 6881.DelayQueue 是一个无界的BlockingQue ... -
java 原语
2013-07-18 13:20 1198介绍 操作系统用语范畴 ... -
精巧好用的DelayQueue
2013-07-03 11:13 682我们谈一下实际的场景吧。我们在开发中,有如下场景 a) 关闭 ... -
log4j的配置文件备份.[成功测试]
2013-06-25 14:29 9561.在项目的config目录下,新建配置文件 log4j.xm ... -
log4j的xml配置详细
2013-06-24 13:48 632这是log4j默认的配置,我们先熟悉一下 <!-- ... -
java用log4j记录日志的基本方法
2013-06-24 10:57 599Log4j基本使用方法 Log4j由三个重要的组件构成: ... -
java 堆 栈
2013-06-21 16:53 622由String看Java堆栈问题,包括==以及equal()。 ... -
Java ThreadPoolExecutor思想介绍
2013-06-14 16:31 615一、简介 线程池类为 j ... -
JDK线程池的ThreadFactory
2013-06-14 16:10 816JDK线程池:Executors.newFixedThread ... -
java 中到底什么叫闭包
2013-03-26 13:24 1245什么是闭包 闭包的 ... -
java中的标签
2013-03-20 14:46 805Java中为了使程序结构更 ...
相关推荐
以下是一个关于如何使用Java实现大文件切割与合并的详细说明。 首先,我们需要引入Java的`java.io`包,因为大部分文件操作都在这个包中。在这个示例中,我们使用`FileInputStream`和`FileOutputStream`进行读写操作...
* SequenceInputStream:用于合并碎片流。 * FileOutputStream:用于写入文件。 * byte[]:用于缓冲区。 java 实现合并文件的代码示例如下: ```java public class MergeFileTest { public static void main...
这个例子中,我们使用SequenceInputStream将多个字节流合并成一个字节流,然后将其写入到一个新的文件中。 Java中IO流是一种基本的输入/输出机制,用于读取和写入数据。IO流可以分为两种:字节流和字符流。字节流...
接着,我们利用`SequenceInputStream`类,它可以根据给定的`Enumeration`顺序合并输入流。`Collections.enumeration()`方法将列表转换为枚举,然后将其传递给`SequenceInputStream`的构造函数。最后,我们将合并后的...
内容概要:本文详细介绍了使用Pandat软件进行Al-Cu-Si三元合金共晶成分计算的方法和步骤。首先,通过设定成分范围并利用Pandat的自动遍历算法找到液相线温度最低且三相共存的成分点。接着,通过多次调整成分范围和步长,逐步逼近最佳共晶成分。文中展示了具体的Python代码片段用于加载数据库、设置计算参数、执行计算以及处理和可视化结果。最终,计算结果显示Al82.3Cu12.1Si5.6为共晶点,与文献中的Al81Cu13Si6相比,偏差约为1.3%。此外,文章还讨论了如何通过热力学因子预判共晶趋势,并强调了实验值与计算值之间的细微差别及其原因。 适合人群:从事金属材料研究的专业人士,尤其是对三元合金共晶成分感兴趣的科研人员和技术人员。 使用场景及目标:① 使用Pandat软件进行三元合金共晶成分的计算;② 探讨不同成分范围和步长对计算结果的影响;③ 验证计算结果并与实验值对比,优化计算参数。 其他说明:文章提供了详细的代码示例和操作指南,帮助读者更好地理解和应用Pandat软件进行相图计算。同时,提醒读者关注数据库版本和参数设置,确保计算结果的准确性。
内容概要:本文详细探讨了使用COMSOL软件模拟红外加热、热风干燥及其耦合方式在食品加工领域的应用。文中介绍了三种干燥方式的基本原理、具体实现步骤及优缺点,并通过具体的代码示例展示了如何在COMSOL中构建相应的物理场模型。特别强调了食品切片在干燥过程中的重要性,指出切片可以增加接触面积,使得干燥更加均匀高效。此外,还讨论了不同干燥方式对食品品质的影响,如颜色、风味等方面的保持情况。 适合人群:从事食品工程、干燥技术研究的专业人士,以及对COMSOL仿真感兴趣的科研工作者。 使用场景及目标:①帮助研究人员更好地理解和优化食品干燥工艺;②为企业提供技术支持,改进现有生产设备和技术流程;③为高校师生的教学和科研活动提供案例参考。 其他说明:文章不仅提供了理论分析,还有大量实用的代码片段供读者参考,有助于加深理解并应用于实际项目中。同时提醒读者关注一些容易被忽视的问题,如材料特性、网格划分策略等,确保仿真的准确性。
基于51单片机protues仿真的简易交流电流检测表(仿真图、源代码、AD原理图) 简易交流表 1、电流互感器测量交流电流,输出经过整流滤波后变成直流电压输入到AD芯片; 2、AD芯片测量输出电压,再计算出2个通道的电流大小; 3、LCD1602显示电流; 调节负载电位器即可改变电流,电流变化比较缓慢;
内容概要:本文详细介绍了如何利用COMSOL软件模拟导模共振(GMR)和双束缚态连续体(BIC)的耦合现象。首先解释了导模共振和BIC的概念及其在光学传感器和激光器设计中的潜在应用。接着,通过具体的COMSOL建模步骤,展示了如何构建周期性介质光栅结构,并设置了合适的边界条件和激励方式。文中提供了详细的代码片段,用于几何建模、边界条件设置以及参数扫描,帮助找到双BIC点。此外,还讨论了如何通过透射谱和电场分布图来验证BIC的存在,并给出了避免常见错误的建议。最后,强调了双BIC在实际应用中的挑战和优势。 适合人群:从事光学工程、光子学研究的专业人士,特别是对COMSOL仿真工具感兴趣的科研人员和技术开发者。 使用场景及目标:适用于希望深入了解导模共振和双BIC现象的研究人员,旨在通过COMSOL仿真工具探索这些现象在光学传感器和激光器设计中的应用。目标是掌握如何通过调整结构参数和边界条件来实现高效的双BIC结构。 其他说明:文章不仅提供了理论背景,还包括了大量的实战经验和代码示例,有助于读者快速上手并在实践中不断优化模型。
内容概要:本文详细介绍了如何使用MATLAB构建一个简易的口罩佩戴检测系统。首先,通过MATLAB内置的vision.CascadeObjectDetector进行人脸检测,随后将图像转换到YCbCr色彩空间并创建肤色掩模,以识别下巴区域的肤色特征。接下来,通过统计下巴区域的肤色像素比例以及应用形态学开运算去噪,实现了口罩佩戴状态的初步判断。为了提高系统的鲁棒性和准确性,文中还探讨了多种优化方法,如调整人脸检测参数、引入边缘检测、使用HSV颜色空间、增加特征提取方式(颜色直方图、LBP纹理、边缘密度)、采用SVM分类器处理类别不平衡问题,以及利用并行计算加速处理速度。此外,文章分享了一些实际部署过程中遇到的问题及其解决方案。 适合人群:具有一定MATLAB编程基础和技术背景的研发人员、学生或爱好者。 使用场景及目标:适用于公共场合(如地铁站、社区服务中心等)的口罩佩戴检测,旨在提高公共卫生安全。主要目标是快速准确地检测人们是否正确佩戴口罩,同时提供了一个可供进一步研究和改进的基础框架。 其他说明:文中提供了完整的代码示例和详细的步骤指导,帮助读者理解和实现该系统。同时也指出了现有方案的一些局限性,并提出了未来可能的研究方向。
内容概要:本文详细介绍了电池管理系统(BMS)的核心组件和技术细节,特别是SOC(荷电状态)估算和充放电策略的设计与实现。文中不仅提供了Python和MATLAB代码示例,展示了如何通过扩展卡尔曼滤波(EKF)进行SOC估算,还讨论了基于SOC的动态充放电控制策略。此外,文章引入了傅里叶分析用于检测电池充放电过程中可能出现的异常电流谐波,并解释了如何利用海塞矩阵优化参数。最后,文章提供了一个带有图形用户界面(GUI)的完整BMS仿真模型,使用户能够实时监控和调整电池参数。 适用人群:适用于具有一定编程基础的技术爱好者、电池管理系统开发者以及从事电力电子领域的工程师。 使用场景及目标:①帮助读者理解BMS的工作原理及其关键组成部分;②指导读者构建自己的BMS仿真模型,包括SOC估算、充放电策略制定和异常检测等功能;③通过实例代码加深对BMS的理解,提高实际项目的开发能力。 其他说明:文中提供的代码片段涵盖了从基础概念到复杂算法的应用,如EKF、傅里叶变换、海塞矩阵等,旨在为读者提供全面的学习资料。同时,文章强调了理论联系实际的重要性,鼓励读者动手实践,不断优化和完善自己的BMS设计方案。
Lane Departure Warning, Adjacent #shexing
内容概要:本文详细介绍了基于STM32的低压无感BLDC(无刷直流电机)方波控制方案。该方案优化了传统的三段式启动流程,采用6步强拖启动方式,显著提高了启动成功率。同时,集成了英飞凌的电感法和脉冲注入算法进行转子位置检测,确保低速和堵转情况下的可靠性。控制环采用了三重嵌套结构(速度环、电流环、换相逻辑),并实现了多种保护功能,如过压、欠压、过流和堵转保护。此外,文中提供了详细的代码示例和硬件设计要点,便于移植和调试。 适合人群:具备一定电子和嵌入式开发基础的技术人员,尤其是从事电机控制领域的工程师。 使用场景及目标:适用于需要高效、可靠的低压无感BLDC电机控制的应用场景,如电动工具、小型家电等。目标是帮助开发者快速掌握STM32在BLDC控制中的应用,减少开发时间和成本。 其他说明:文中提供的代码和硬件设计方案经过实际验证,具有较高的实用性和稳定性。建议初学者从基础的三段式启动入手,逐步深入到高级功能的学习和调试。
升级最新版本后,WEB资源也要升级下
内容概要:本文详细介绍了商用车排气制动制动力矩的仿真方法及其背后的力学原理。首先给出了制动力矩的核心公式,并通过Python代码实现了基于龙格库塔法的非线性微分方程求解。文中还探讨了不同转速和阀门开度对制动力矩的影响,展示了仿真结果并解释了为何最佳制动区间出现在特定转速范围内。此外,文章讨论了排气温度对制动力矩的影响以及如何进行温度补偿,强调了仿真过程中需要注意的关键点和技术细节。 适合人群:从事汽车工程、尤其是商用车制动系统研究的专业人士,以及对车辆动力学仿真感兴趣的工程师。 使用场景及目标:适用于需要理解和优化商用车排气制动性能的研究和开发工作。主要目标是通过仿真模型预测和改进制动力矩,从而提高行车安全性和燃油经济性。 其他说明:文章不仅提供了理论推导和数学模型,还包括具体的Python代码实现,便于读者动手实践。同时提醒读者注意实车标定时的实际挑战,如排温突变等因素的影响。
内容概要:本文详细介绍了含风电、光伏和光热电站的电力系统优化调度模型,特别强调了光热电站的独特优势以及N-k安全约束的应用。文中首先解释了光热电站的储热-发电双模式运行特性,展示了其在时间和空间上的调节能力。接着,通过具体的MATLAB代码片段,阐述了如何构建和求解该模型,包括目标函数的设计、储热系统的约束建模、N-k安全约束的概率化建模等。最后,通过对不同场景的数据对比,证明了光热电站在降低弃风率、提高系统稳定性和经济效益方面的显著作用。 适合人群:从事电力系统优化调度研究的专业人士,尤其是关注新能源消纳和系统安全的研究人员和技术人员。 使用场景及目标:适用于希望深入了解光热电站在电力系统中发挥的作用,以及如何通过合理的调度模型提高系统稳定性和经济性的研究人员。目标是掌握光热电站的建模方法和N-k安全约束的具体实现,从而应用于实际电力系统调度中。 其他说明:文章不仅提供了理论分析,还附带了大量的MATLAB代码实例,便于读者理解和实践。此外,文中提到的一些优化技巧,如求解器的选择和参数调整,对于提高计算效率也有很大帮助。
内容概要:本文详细介绍了利用MATLAB进行西班牙风电场风速与功率预测的完整流程。首先,通过CEEMDAN分解将原始风速信号分解为多个本征模态分量(IMF),并处理残差项。接着,使用花授粉算法(FPA)优化极限学习机(ELM)和BP神经网络的权重,提高预测精度。针对风速-功率曲线的非线性特点,引入分段校正层进行功率预测。文中提供了详细的代码示例和参数设置建议,强调了数据预处理、模型优化和结果分析的关键步骤。 适合人群:从事风电场数据分析、预测建模的研究人员和技术人员,以及对MATLAB编程有一定基础的学习者。 使用场景及目标:适用于需要对复杂地形条件下的风电场进行精确风速和功率预测的场景。主要目标是通过先进的信号分解和优化算法,提高预测模型的准确性,减少预测误差。 其他说明:文中提到的技术手段不仅限于西班牙风电场,对于其他地区类似应用场景也有很好的借鉴意义。建议使用者根据具体数据情况进行适当调整,如IMF数量的选择、FPA参数的设定等。
内容概要:本文详细探讨了三维空间中的RRT(快速扩展随机树)、RRT*和双向RRT三种路径规划算法。首先介绍了RRT的基本原理及其Matlab实现步骤,包括初始化树、随机采样、寻找最近节点、扩展节点、碰撞检测和目标判断等环节。接着阐述了RRT*通过引入重布线机制优化路径成本,进一步提高路径质量。最后讲解了双向RRT的工作方式,即从起点和目标点同时构建两棵树,以加快搜索速度。文中还展示了如何在Matlab中实现这些算法,并通过实验数据对比了它们的运行时间和路径长度,为实际应用场景提供了选择依据。 适合人群:从事机器人运动规划领域的研究人员和技术开发者,尤其是对路径规划算法有一定了解并希望通过Matlab实现具体算法的人群。 使用场景及目标:适用于需要在三维环境中进行路径规划的任务,如无人机导航、自动驾驶汽车避障等。主要目标是在不同的性能指标下(如时间、路径长度、内存占用)选择最适合的算法。 其他说明:文章不仅提供了详细的理论解释,还包括具体的Matlab代码片段,便于读者理解和实践。此外,通过对多种算法的实际测试,给出了直观的数据对比,有助于读者根据自身需求做出最佳选择。
kafka4.0学习笔记
内容概要:本文介绍了一个基于C#和WPF的运动控制软件框架Demo,涵盖了图形化配置系统的实现、参数管理和控制器适配等方面的内容。图形操作方面,使用WPF的Canvas控件实现了拖拽、缩放等功能,确保界面交互的灵活性。参数管理部分采用XML序列化进行配置文件的保存与加载,并加入了版本兼容处理。对于控制器适配,通过定义IMotionController接口并实现具体控制器的适配类,如SMC604Wrapper,使得不同品牌控制器可以轻松集成。此外,还介绍了IO映射、仿真界面以及异常恢复机制的设计思路。 适合人群:对运动控制系统开发感兴趣的开发者,尤其是熟悉C#和WPF的技术人员。 使用场景及目标:适用于希望快速搭建运动控制原型系统的学习者和技术团队,旨在帮助他们理解运动控制软件的基本架构和关键技术点,如图形化配置、参数管理、控制器适配等。 其他说明:文中提供了大量代码片段作为示例,详细解释了各个功能模块的具体实现方法。同时,作者分享了一些开发过程中遇到的实际问题及其解决方案,有助于读者更好地理解和应用相关技术。
内容概要:本文详细介绍了VCU(车辆控制单元)控制软件的Simulink模型,涵盖挡位管理、上下电、能量管理和扭矩管理四大核心模块。挡位管理模块利用多层Stateflow状态机实现丝滑的挡位切换,并包含隐藏的扭矩补偿算法。能量管理模块通过多个SOC阈值参数优化电池性能,采用环形缓冲区平滑功率波动。扭矩管理模块则运用MATLAB Function块实现动态权重分配算法,确保双动力源协同工作。此外,文中还提供了多个关键参数的初始化方法和调试技巧,如override_timer、batt_calibration_factor、input_priority等。 适合人群:从事汽车电子控制系统开发的技术人员,尤其是对VCU开发感兴趣的工程师。 使用场景及目标:帮助工程师理解和优化VCU控制策略,提高车辆性能和安全性。具体应用场景包括挡位切换逻辑优化、能量管理算法改进以及扭矩分配策略调整。 其他说明:文章不仅提供了详细的模型解析,还分享了许多实用的调试经验和隐藏的功能,如通过特定节奏双击模块弹出调试界面等。建议读者在实践中结合示波器和相关工具进行参数调整和验证。