以下代码有什么问题?
Stream inputstream = File.Open("e:\\read.txt", FileMode.Open);
Stream writestream = File.Open("e:\\write.txt", FileMode.OpenOrCreate);
do
{
writestream.WriteByte((byte)inputstream.ReadByte());
}
while (inputstream.ReadByte() != -1);
Run Code Online (Sandbox Code Playgroud)
read.txt有"快速的棕色狐狸跳过懒狗".
而write.txt文件包含的内容很少,只需"teqikbonfxjme vrtelz o".
您只写入奇数字节,因为在where条件下进行另一次读取时您会跳过偶数字节。
这样修改你的代码:
int byteRead;
while((byteRead = inputstream.ReadByte()) != -1)
writestream.WriteByte((byte)byteRead);
Run Code Online (Sandbox Code Playgroud)
顺便说一句,你可以使用File.Copy("e:\\read.txt", "e:\\write.txt")。
| 归档时间: |
|
| 查看次数: |
6607 次 |
| 最近记录: |