Jump to content
php.lv forumi

HELP: JAVA FileInputStream bez file lock ?


darksign

Recommended Posts

Vajag bez file lock jeb synchronize režīma, t.i. atvērt failu tikai lasīšanai, lai to nebloķētu, un tai pašā laikā varētu izmantot cita programma:

 

import java.io.*;
import java.util.Properties;

...
       props = new Properties();
       readProperties(s); 
...

   public void readProperties(String s)
       throws ConfigurationException
   {
       try
       {
           props.load(new FileInputStream(s)); //shii rinda sagaadaa probleemas... kas noved pie exception... katru otro reizi kad izsauc funkciju (sekundes laikaa izsaucu vairaakas reizes...)
       }
       catch(IOException ioexception)
       {
           throw new ConfigurationException("exception reading file (" + s + ")", ioexception);
       }
       getProperties(props);
   }

 

Ja kāds zin, tad būtu ideāli ja pateiktu ko tur var palabot, vai kurā virzienā meklēt !? Iespējams, ir kaut kādi globālie mainīgie javā ko uzstādot tas process notiek savādāk!?

Link to comment
Share on other sites

to bubu: iespeejams ka neizskataas.. bet shis konkreetais koda gabals ir no ekomercijas moduljiem... tapeec shajaa teemaa ;) bet protams.. tev arii taisniiba ;)

 

es tagad pameegjinaaju vienkaarshi to failu aizveert.. ar Close() ... simuleejot pluusmaas izskataas ka kljuuda vairs nemetaas.. lai gan pastaav teoreetiska iespeeja.. toties daudz mazaaka.. jo negaida kameer skripts beigsies...

 

dziivosim.. redzeesim, kaa buus.. vai metiis atkalj kljuudas...

Link to comment
Share on other sites

es tagad pameegjinaaju vienkaarshi to failu aizveert.. ar Close() ... simuleejot pluusmaas izskataas ka kljuuda vairs nemetaas.. lai gan pastaav teoreetiska iespeeja.. toties daudz mazaaka.. jo negaida kameer skripts beigsies...

 

dziivosim.. redzeesim, kaa buus.. vai metiis atkalj kljuudas...

Tā arī neiemācījies izmantot to AsynchronousFileChannel klasi?

Link to comment
Share on other sites

nebija vajadzības ar AsynchronousFileChannel. Jo notesteejaam ar to Close() tredos, un ja pirms tam bija kļūda, ka failu nevar atvērt, tad tagad Close() vajadzīgā vietā, un mierīgi uz darba datora var 5-6 reizes milisekundē no vairākām plūsmām aiztikt vienu un to pašu failu, kas man arī ir ok (iepriekš bija problēmas kad tikai 5-6 reizes sekundē pie tā faila vērsos...).

Tagad nav kļūdas rādījušās pie max patreizējās noslodzes, un izskatās ka būs ok :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...