IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

probleme dans la lecture d'une parti de fichier


Sujet :

C#

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 86
    Par défaut probleme dans la lecture d'une parti de fichier
    bonjour,
    j'ai un petit probleme dans la manipulation de fichier et j'ai besoin de votre aide.
    voici l'erreur generer par la lecture
    L'exception System.IO.IOException n'a pas été gérée
    Message="Ressources système insuffisantes pour terminer le service demandé.\r\n"
    Source="mscorlib"
    StackTrace:
    à System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
    à System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count)
    à System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count)
    à copyfile.Form1.button1_Click(Object sender, EventArgs e) dans D:\TestCSharp\copyfile\copyfile\Form1.cs:ligne 31
    à System.Windows.Forms.Control.OnClick(EventArgs e)
    à System.Windows.Forms.Button.OnClick(EventArgs e)
    à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    à System.Windows.Forms.Control.WndProc(Message& m)
    à System.Windows.Forms.ButtonBase.WndProc(Message& m)
    à System.Windows.Forms.Button.WndProc(Message& m)
    à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    à System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    à System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
    à System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
    à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
    à System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
    à System.Windows.Forms.Application.Run(Form mainForm)
    à copyfile.Program.Main() dans D:\TestCSharp\copyfile\copyfile\Program.cs:ligne 17
    à System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
    à System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
    à Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
    à System.Threading.ThreadHelper.ThreadStart_Context(Object state)
    à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    à System.Threading.ThreadHelper.ThreadStart()
    merci.

  2. #2
    Membre chevronné Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Par défaut
    Bonjour, un bout de code peut-être ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 86
    Par défaut
    voici le code que j'utilise pour copier ls donner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     DateTime dt = DateTime.Now;
                int a = 0;
                int g = nombr docte a copier ;
                using (FileStream flux = File.OpenRead(@"fichier princpale"))
                {
                    Byte[] buffer = new Byte[g];
                    flux.Position = a;
                    int nRead = flux.Read(buffer, 0, buffer.Length);
                    using (FileStream partStream = File.OpenWrite(@"nom dfichier a copier dedans"))
                    {
                        partStream.Write(buffer, 0, nRead);
                    }
                }
                DateTime dtf = DateTime.Now;
    //affichier le tmps de calcule
                MessageBox.Show("temps : " + (dtf - dt));

  4. #4
    Membre chevronné Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Par défaut
    Alors, le problème viens soit du chemin d'accès au fichiers ou alors le buffer est trop grand par rapport à la capacité physique de la machine server.

    Essai de faire en plusieurs passage via une boucle et un buffer plus restreint.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 86
    Par défaut
    quand il se plante le IDE se met directement sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    partStream.Write(buffer, 0, nRead);

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 86
    Par défaut
    oui tu as raison la taille du buffer etait plus grand que celle du serveur, quand je l'ai modifier ca a marcher tres bien merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. L'élément suivant dans la lecture d'une DataTable
    Par zooffy dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/07/2008, 14h33
  2. Probleme dans la lecture d’un bmp
    Par dot-_-net dans le forum C++
    Réponses: 3
    Dernier message: 08/04/2008, 18h25
  3. SVP Probleme dans la création d'une table
    Par sephirothmana dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/11/2006, 17h12
  4. copier une partie d´un fichier dans un autre
    Par makohsarah dans le forum Langage
    Réponses: 8
    Dernier message: 23/08/2006, 09h53
  5. Réponses: 8
    Dernier message: 14/11/2005, 11h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo