拷贝非文本文件有问题

sandxu 2006-11-28 10:37:34
import java.io.*;
public class ReadFile {

public static void main(String args[]){
ReadFile rf=new ReadFile();
try{
rf.copy("d:\\fusion32.rar","d:\\32.rar");
}
catch(Exception e){
e.printStackTrace();
}
}
public void copy(String fileName,String copyFileName) throws Exception{

BufferedReader reader=new BufferedReader(new FileReader(fileName));
BufferedWriter writer=new BufferedWriter(new FileWriter(copyFileName));

String str=null;
str=reader.readLine();
while(str!=null)
{
writer.write(str+"\r\n");

str=reader.readLine();
}
reader.close();
writer.close();
}

}

拷贝的rar文件不能打开,长度有问题,请问是怎么回事?
如果有FileInputStream,FileOutputStream就没有问题。
...全文
154 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Chinajash 2006-11-29
  • 打赏
  • 举报
回复
同意treeroot的解释
千里冰封820 2006-11-29
  • 打赏
  • 举报
回复
有问题是因为楼主用了读文本文件的方法,而非文本文件只是二进制流
所以要用读二进制流的方法来读它
treeroot 2006-11-29
  • 打赏
  • 举报
回复
另外搞不懂楼主为什么使用字符Reader

使用字节流方式显示效率更高
treeroot 2006-11-29
  • 打赏
  • 举报
回复
当然有问题
InputStream/OutputStream是字节流
Reader/Writer是字符流

字节流可以读取任何文件(文件本身是字节构成的)
字符流试图使用一种编码(比如GBK)把字节转成字符,如果不是文本文件的话,就会有乱码

使用readLine就一塌糊涂了
beiouwolf 2006-11-29
  • 打赏
  • 举报
回复
当然不对了
你把字节转换成字符了

比如原来的数据是 0xAABBCC 字节数组就是 0xAA 0xBB 0xCC
但是你转成字符就变成了 三个字 文字1 文字2 文字3
zxh2208180 2006-11-28
  • 打赏
  • 举报
回复
up
内容概要:本文介绍了基于粒子群优化(PSO)算法的光伏最大功率点跟踪(MPPT)控制模型,重点针对局部遮阴条件下光伏系统易出现多峰输出特性而导致传统MPPT方法失效的问题,提出采用PSO算法实现全局寻优的解决方案。该模型通过Simulink平台搭建光伏阵列、DC-DC变换器及PSO控制模块,模拟复杂光照条件下的系统运行状态,有效克服了局部遮阴引起的功率震荡和误判问题,提升了光伏发电系统的能量转换效率与稳定性。文中详细阐述了PSO算法的实现流程及其与MPPT控制的结合方式,并通过仿真实验验证了该方法在动态环境下的快速响应能力和高精度追踪性能。; 适合人群:具备一定电力电子与自动控制理论基础,从事新能源发电、智能优化算法应用或光伏系统设计等相关领域的科研人员及工程技术人员,尤其适合研究生及以上学历层次的学习者。; 使用场景及目标:① 解决光伏系统在局部遮阴工况下的最大功率点追踪难题;② 学习并掌握智能优化算法(如PSO)在实际工程控制中的建模与实现方法;③ 开展基于Simulink的光伏系统仿真研究,提升对MPPT控制策略的理解与创新能力; 阅读建议:建议结合提供的Simulink仿真模型文件进行实践操作,重点关注PSO算法参数设置、寻优过程可视化以及与其他传统MPPT方法(如扰动观察法、电导增量法)的对比分析,以深入理解其优越性与适用边界。

62,624

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧