Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.

FileStream.Seek, méthode

Mise à jour : novembre 2007

Affecte la valeur donnée à la position actuelle de ce flux.

Espace de noms :  System.IO
Assembly :  mscorlib (dans mscorlib.dll)

public override long Seek(
	long offset,
	SeekOrigin origin
)
public long Seek(
	long offset,
	SeekOrigin origin
)
public override function Seek(
	offset : long, 
	origin : SeekOrigin
) : long

Paramètres

offset
Type : System.Int64
Point par rapport au origin à partir duquel la recherche doit commencer.
origin
Type : System.IO.SeekOrigin
Spécifie le début, la fin ou la position actuelle en tant que point de référence pour origin, à l'aide d'une valeur du type SeekOrigin.

Valeur de retour

Type : System.Int64
Nouvelle position dans le flux.

ExceptionCondition
IOException

Une erreur d'E/S s'est produite.

NotSupportedException

Le flux ne prend pas en charge la recherche, comme si FileStream était construit à partir d'un canal ou d'une sortie console.

ArgumentException

Tentative de recherche avant le début du flux.

ObjectDisposedException

Des méthodes ont été appelées après que le flux a été fermé.

Cette méthode substitue Seek.

hfkdy2ws.alert_note(fr-fr,VS.90).gifRemarque :

Utilisez la propriété CanSeek pour déterminer si l'instance actuelle prend en charge la recherche. Pour plus d'informations, consultez CanSeek.

La recherche au-delà de la longueur du flux est prise en charge. Lorsque vous effectuez une recherche au-delà de la longueur du fichier, la taille de fichier augmente. Dans Microsoft Windows NT et version ultérieure, toutes les données ajoutées à la fin du fichier ont une valeur égale à zéro. Dans Microsoft Windows 98 ou version antérieure, toutes les données ajoutées à la fin du fichier n'ont pas une valeur égale à zéro, ce qui signifie que les données supprimées précédemment sont visibles pour le flux.

Pour obtenir la liste des tâches d'E/S courantes, consultez Tâches d'E/S courantes.

L'exemple de code suivant montre comment écrire des données dans un fichier, octet par octet, puis comment vérifier que les données ont été écrites correctement.

using System;
using System.IO;

class FStream
{
    static void Main()
    {
        const string fileName = "Test#@@#.dat";

        // Create random data to write to the file.
        byte[] dataArray = new byte[100000];
        new Random().NextBytes(dataArray);

        using(FileStream  
            fileStream = new FileStream(fileName, FileMode.Create))
        {
            // Write the data to the file, byte by byte.
            for(int i = 0; i < dataArray.Length; i++)
            {
                fileStream.WriteByte(dataArray[i]);
            }

            // Set the stream position to the beginning of the file.
            fileStream.Seek(0, SeekOrigin.Begin);

            // Read and verify the data.
            for(int i = 0; i < fileStream.Length; i++)
            {
                if(dataArray[i] != fileStream.ReadByte())
                {
                    Console.WriteLine("Error writing data.");
                    return;
                }
            }
            Console.WriteLine("The data was written to {0} " +
                "and verified.", fileStream.Name);
        }
    }
}


import System.*;
import System.IO.*;

class FStream
{   
    public static void main(String[] args)
    {
        final String fileName = "Test#@@#.dat";

        // Create random data to write to the file.
        ubyte dataArray[] = new ubyte[100000];
        new Random().NextBytes(dataArray);        

        FileStream fileStream = new FileStream(fileName, FileMode.Create);
        try {
            // Write the data to the file, byte by byte.
            for(int i=0;i < dataArray.length;i++) {
                fileStream.WriteByte(dataArray[i]);
            } 

            // Set the stream position to the beginning of the file.
            fileStream.Seek(0, SeekOrigin.Begin);

            // Read and verify the data.
            for(int i=0;i < fileStream.get_Length();i++) {
                if ( dataArray[i] != fileStream.ReadByte()  ) {
                    Console.WriteLine("Error writing data.");
                    return;
                }
            } 
            Console.WriteLine("The data was written to {0} "
                + "and verified.", fileStream.get_Name());
        }
        finally {
            fileStream.Dispose();
        }        
    } //main
} //FStream


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC, Xbox 360

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Pris en charge dans : 3.5, 2.0, 1.0

XNA Framework

Pris en charge dans : 2.0, 1.0

Ajouts de la communauté

Afficher:
© 2014 Microsoft