[ 标签:
c#复制文件 ]
我想写一个复制文件的小程序(就是 自己实现File.Copy(arg1,arg2)的功能),但是为什么不能复制成功呢,代码如下,请各位帮忙看看,问题出在那
private void Copy()
{
FileStream fsOpen = new FileStream(txtOpen.Text, FileMode.Open);
FileStream fsSave = new FileStream(txtSave.Text, FileMode.Create);
StreamReader sr = new StreamReader(fsOpen, Encoding.UTF7);
StreamWriter sw = new StreamWriter(fsSave, Encoding.UTF7);
long lenth = sr.BaseStream.Length;
int i = 0;
char[] bytes = new char[256];
while (!sr.EndOfStream)
{
i = sr.Read(bytes, 0, 256);
sw.Write(bytes, 0, i);
}
sw.Flush();
sw.Close();
sr.Close();
fsSave.Close();
fsOpen.Close();
}
private void Copy()
{
FileStream fsOpen = new FileStream(txtOpen.Text, FileMode.Open);
FileStream fsSave = new FileStream(txtSave.Text, FileMode.Create);
StreamReader sr = new StreamReader(fsOpen, Encoding.UTF7);
StreamWriter sw = new StreamWriter(fsSave, Encoding.UTF7);
long lenth = sr.BaseStream.Length;
int i = 0;
char[] bytes = new char[256];
while (!sr.EndOfStream)
{
i = sr.Read(bytes, 0, 256);
sw.Write(bytes, 0, i);
}
sw.Flush();
sw.Close();
sr.Close();
fsSave.Close();
fsOpen.Close();
}
满意答案
好评率:0%
StreamReader sr = new StreamReader(fsOpen,
Encoding.Default);
StreamWriter sw = new StreamWriter(fsSave, sr.CurrentEncoding);
StreamWriter sw = new StreamWriter(fsSave, sr.CurrentEncoding);
提问人的追问 2011-03-30 10:16
我试过了,不行,
Encoding的所有枚举我都试过了,复制后的文件打不开
团队的补充 2011-03-30 10:52
private void Copy()
{
FileStream fsOpen = new FileStream(txtOpen.Text, FileMode.Open);
FileStream fsSave = new FileStream(txtSave.Text, FileMode.Create);
byte[] data = new byte[fsOpen.Length];
fsOpen.Read(data, 0, (int)fsOpen.Length);
fsSave.Write(data, 0, (int)fsOpen.Length);
fsSave.Close();
fsOpen.Close();
}
提问人的追问 2011-03-30 11:06
BinaryReader sr = new BinaryReader(fsOpen, Encoding.ASCII);
BinaryWriter sw = new BinaryWriter(fsSave, Encoding.ASCII);
int i = 0;
byte[] bytes = new byte[256];
while (true)
{
i = sr.Read(bytes, 0, 256);
sw.Write(bytes, 0, i);
if (i < 256)
{
break;
}
}
找到答案,谢谢你
这段C#代码展示了如何使用FileStream和BinaryReader/BinaryWriter来复制文件。通过打开源文件,读取其内容到字节数组,然后写入到目标文件中,实现了文件的完整复制。

468

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



