<% @ Page Language="C#" %>
<% @ Import Namespace="System.IO" %>
<Script Language="C#" Runat="Server">
public void Page_Load(Object src,EventArgs e)
{
string OriginFile = "F:\\Download\\ICQ\\qq2000b07101.exe";
string NewFile = "F:\\Download\\ICQ\\qq2000b.exe";
//操作前判断源文件是否存在
if(!File.Exists(OriginFile))
{
lblError.Text = "源文件不存在,程序不能执行下去";
return;
}
else
{
lblPOriginFile.Text = "存在";
} if(File.Exists(NewFile))
{
lblPNewFile.Text = "存在";
}
else
{
lblPNewFile.Text = "不存在";
}
//下面开始操作 //建立两个FileStream对象
FileStream fsOF = new FileStream(OriginFile,FileMode.Open,FileAccess.Read);
FileStream fsNF = new FileStream(NewFile,FileMode.Create,FileAccess.Write); //建立分别建立一个读写类
BinaryReader br = new BinaryReader(fsOF);
BinaryWriter bw = new BinaryWriter(fsNF); //将读取文件流指针指向流的头部
br.BaseStream.Seek(0,SeekOrigin.Begin);
//将写入文件流指针指向流的尾部
bw.BaseStream.Seek(0,SeekOrigin.End);
while(br.BaseStream.Position < br.BaseStream.Length)
{
//从br流中读取一个Byte并马上写入bw流
bw.Write(br.ReadByte());
}
br.Close();
bw.Close();
//操作后判断源文件是否存在
if(File.Exists(OriginFile))
{
lblEOriginFile.Text = "存在";
}
else
{
lblEOriginFile.Text = "不存在";
} if(File.Exists(NewFile))
{
lblENewFile.Text = "存在";
}
else
{
lblENewFile.Text = "不存在";
}
}
</script>
<html>
<head>
<title></title>
</head>
<body>
<form runat="server">
<b>操作二进制文件完成Copy操作</b><br>
<p>
操作前:<br>
qq2000b07101.exe文件状态:<asp:Label id="lblPOriginFile" Font-Name="Arial" ForeColor="red" runat="server" /> <br>
qq2000b文件状态:<asp:Label id="lblPNewFile" Font-Name="Arial" ForeColor="red" runat="server" /><br>
</p>
<p>
操作后:<br>
qq2000b07101.exe文件状态:<asp:Label id="lblEOriginFile" Font-Name="Arial" ForeColor="red" runat="server" /> <br>
qq2000b文件状态:<asp:Label id="lblENewFile" Font-Name="Arial" ForeColor="red" runat="server" /><br>
</p>
<asp:Label id="lblError" ForeColor="red" runat="server" /></form>
</body>
</html>--------------------------------------------------------- //将读取文件流指针指向流的头部
br.BaseStream.Seek(0,SeekOrigin.Begin);
//将写入文件流指针指向流的尾部
bw.BaseStream.Seek(0,SeekOrigin.End);
这句是什么意思。为什么读取文件流指针指向流的头部,而写入文件流指针指向流的尾部
为什么写入文件流指针不是指向流的头部???
难道读是重头开始。而写是重尾开始写??也不对啊。谁可以帮我解释一下吗
<% @ Import Namespace="System.IO" %>
<Script Language="C#" Runat="Server">
public void Page_Load(Object src,EventArgs e)
{
string OriginFile = "F:\\Download\\ICQ\\qq2000b07101.exe";
string NewFile = "F:\\Download\\ICQ\\qq2000b.exe";
//操作前判断源文件是否存在
if(!File.Exists(OriginFile))
{
lblError.Text = "源文件不存在,程序不能执行下去";
return;
}
else
{
lblPOriginFile.Text = "存在";
} if(File.Exists(NewFile))
{
lblPNewFile.Text = "存在";
}
else
{
lblPNewFile.Text = "不存在";
}
//下面开始操作 //建立两个FileStream对象
FileStream fsOF = new FileStream(OriginFile,FileMode.Open,FileAccess.Read);
FileStream fsNF = new FileStream(NewFile,FileMode.Create,FileAccess.Write); //建立分别建立一个读写类
BinaryReader br = new BinaryReader(fsOF);
BinaryWriter bw = new BinaryWriter(fsNF); //将读取文件流指针指向流的头部
br.BaseStream.Seek(0,SeekOrigin.Begin);
//将写入文件流指针指向流的尾部
bw.BaseStream.Seek(0,SeekOrigin.End);
while(br.BaseStream.Position < br.BaseStream.Length)
{
//从br流中读取一个Byte并马上写入bw流
bw.Write(br.ReadByte());
}
br.Close();
bw.Close();
//操作后判断源文件是否存在
if(File.Exists(OriginFile))
{
lblEOriginFile.Text = "存在";
}
else
{
lblEOriginFile.Text = "不存在";
} if(File.Exists(NewFile))
{
lblENewFile.Text = "存在";
}
else
{
lblENewFile.Text = "不存在";
}
}
</script>
<html>
<head>
<title></title>
</head>
<body>
<form runat="server">
<b>操作二进制文件完成Copy操作</b><br>
<p>
操作前:<br>
qq2000b07101.exe文件状态:<asp:Label id="lblPOriginFile" Font-Name="Arial" ForeColor="red" runat="server" /> <br>
qq2000b文件状态:<asp:Label id="lblPNewFile" Font-Name="Arial" ForeColor="red" runat="server" /><br>
</p>
<p>
操作后:<br>
qq2000b07101.exe文件状态:<asp:Label id="lblEOriginFile" Font-Name="Arial" ForeColor="red" runat="server" /> <br>
qq2000b文件状态:<asp:Label id="lblENewFile" Font-Name="Arial" ForeColor="red" runat="server" /><br>
</p>
<asp:Label id="lblError" ForeColor="red" runat="server" /></form>
</body>
</html>--------------------------------------------------------- //将读取文件流指针指向流的头部
br.BaseStream.Seek(0,SeekOrigin.Begin);
//将写入文件流指针指向流的尾部
bw.BaseStream.Seek(0,SeekOrigin.End);
这句是什么意思。为什么读取文件流指针指向流的头部,而写入文件流指针指向流的尾部
为什么写入文件流指针不是指向流的头部???
难道读是重头开始。而写是重尾开始写??也不对啊。谁可以帮我解释一下吗
解决方案 »
- 又有问题了 哎郁闷啊
- 有的客户端运行程序时,JS画不出线,知道是系统的事,但应该改哪个地方呢?
- 使用File.WriteAllText和server.MapPath输出文件.却无法找到文件(急)
- asp.net多条件查询的问题
- 格录的问题
- 求VSS2005的下载地址
- asp.net 里的HttpHandler图片隐藏问题
- 如何实现在datagrid中按某列排序后的前10行,只显示前10行。
- Asp.Net+Access数据库+DataGrid分页问题还没解决555~
- 请问谁知道哪有介绍ASP.NET事务处理的文章或教程??
- 父窗体textbox获取弹出窗体的值
- 如何获得服务器在网络上的IP地址?
FileStream fsNF = new FileStream(NewFile,FileMode.Create,FileAccess.Write);
FileMode.Create:指定操作系统应创建新文件。如果文件已存在,它将被改写如果文件不存在,则使用 CreateNew;所以写入文件流指针指向流的尾部