A barra de progresso para fluxo IO indica o progresso de upload ou download de arquivos . Um fluxo de IO lida com a entrada e saída usando a funcionalidade de córregos. Um fluxo é uma abstração que representa um dispositivo onde a entrada ea saída são conduzidas. Streams estão relacionados a uma fonte física como teclado ou uma consola de entrada. C + + fornece a biblioteca iostream padrão, incluindo modelos de classe básicos , tipos e manipuladores. Instruções
1
Clique em " Iniciar", " Todos os Programas " e " Visual Studio " para entrar no ambiente de desenvolvimento integrado . Selecione a linguagem de programação como o Visual C + +. Clique em " Form1.cs " para mudar para o modo de design . . " Button1 " Clique em " Ferramentas " e "Button" para criar um novo botão chamado
2
Clique duas vezes no button1 e digite o código a seguir para obter informações sobre o arquivo de entrada :
using System; usando System.IOSystem.IO.FileInfo fileInfo = new System.IO.FileInfo ( FileTextBox.Text );
3
Leia a partir do arquivo "c: \\ \\ Text1.txt " para a nova variável FileStream " stream " usando o seguinte código :
usando (stream System.IO.FileStream = new System.IO.FileStream (" c : \\ \\ Text1.txt " , System.IO.FileMode.Open , System.IO.FileAccess.Read ) )
o uso do evento ProgressChanged relata o progresso do upload. Obtenha o progresso do upload usando vairable
{using ( StreamWithProgress uploadStreamWithProgress = new StreamWithProgress (stream )) { uploadStreamWithProgress.ProgressChanged + = uploadStreamWithProgress_ProgressChanged " uploadStreamWithProgress . ";
4
duas vezes clique form1 . Obtenha o arquivo de upload de progresso através das seguintes funções
Definir bytesRead variável : bytesRead longo privado;
Leia os bytes carregados no " bytesRead " variável em função StreamWithProgress para
. StreamWithProgress público ( arquivo FileStream ) { this.file = arquivo; comprimento = file.length ; bytesRead = 0; if ( ProgressChanged = null !) ProgressChanged ( isso, novas ProgressChangedEventArgs ( bytesRead , length) );}
calcular e retornar o progresso de upload na função GetProgress : GetProgress public double () { return ( (double) bytesRead ) /file.length ;}