Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 23060|Vastaus: 1

[Lähde] .net/c# monisäikeinen vain luku -tiedostoratkaisu

[Kopioi linkki]
Julkaistu 11.10.2017 15.06.48 | | | |
Käsittelemätön poikkeus: System.AggregateException: Yksi tai useampi virhe on tapahtunut. ---> System.IO.IOException: Tiedostoa "C:\SyncTemp\Position\Taxi\2017\09\09\Time\0000.dat" käyttää toinen prosessi, joten tähän tiedostoon ei pääse käsiksi.
   osoitteessa System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   System.IO.FileStream.Init(String path, FileMode-tila, FileAccess-käyttö, Int32-oikeudet, Boolean useRights, FileShare-jako, Int32-bufferSize, FileOptions-asetukset, SECURITY_ATTRIBUTES secAttrs, string msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   System.IO.FileStreamissa: ctor(Merkkijonopolku, Tiedostotilatila, TiedostoAccess-käyttö, Tiedostojako)
   System.IO.File.Openissa (Merkkijonopolku, FileMode-tila, FileAccess-käyttöoikeus)
   ConsoleApp1.FileReadHelper.SingleFile(String path) -paikassa C:\project\my\TestNet\ConsoleApp1\FileReadHelper.cs: rivinumero 27
   ConsoleApp1.FileReadHelper.<>c__DisplayClass3_0 -tiedostossa. <MultipleFilesAsync>b__0(Merkkijono x) Sijainti C:\project\my\TestNet\ConsoleApp1\FileReadHelper.cs: Rivinumero 68
   In System.Threading.Tasks.Parallel.<>c__DisplayClass17_0'1. <ForWorker>b__1()
   System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask) -tiedostossa
   In System.Threading.Tasks.Task.<>c__DisplayClass176_0. <ExecuteSelfReplicating>b__0(Objekti)
   --- Sisäisen poikkeuspinon jäljityksen loppu ---
   System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) -tiedostossa
   System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   In System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action'1 body, Action'2 bodyWithState, Func'4 bodyWithLocal, Func'1 localInit, Action'1 localLopuksi)
   In System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable'1 source, ParallelOptions, Action'1 body, Action'2 bodyWithState, Action'3 bodyWithStateAndIndex, Func'4 bodyWithStateAndLocal, Func'5 bodyWithEverything, Func'1 localInit, Action'1 local'1 localFinally)
   osoitteessa System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable'1-lähde, Action'1-runko)
   ConsoleApp1.FileReadHelper.MultipleFilesAsync(IEnumerable'1 path) kohdassa C:\project\my\TestNet\ConsoleApp1\FileReadHelper.cs: rivinumero 66
   ConsoleApp1.Program.Main(String[] args) -kohdassa C:\project\my\TestNet\ConsoleApp1\Program.cs: rivinumero 73
Paina mitä tahansa näppäintä jatkaaksesi. . . .




Virhe on ilmeinen, eli tiedostoon ei pääse käsiksi, tiedostoa ei voi lukea, mikä on poikkeus monisäikeisyydestä

Luin, miten asiakirja on kirjoitettu:

Asetin vain lukutilan, en kirjoitustilaa, ja huomasin, että monisäikeisessä virhe tulee silti, eikö se ole vain luku -tilassa?

Jos se on vain luku -tilassa, sen ei pitäisi olla virhe

Ratkaisu:



Tämän pitäisi lukea tiedostoja vain luku -tilassa, testasin ja todettiin, ettei kyse ole virheestä, ja samaa tiedostoa voi lukea samanaikaisesti useiden säikeiden alla




Edellinen:Yhden klikkauksen uudelleenasennusopas asennusavustaja Järjestelmäavustajan yhden klikkauksen uudelleenasennusopas
Seuraava:.net/c#-tiedoston lukutoiminto lukee kaikki tiedoston rivit erissä
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com