FileInputStream.read()  and non-blocking file i/o

According to the API, FileInputStream.read() is :
public native int read() throws IOException
Reads a byte of data from this input stream. This method blocks if no input is yet available.
Returns:
the next byte of data, or -1 if the end of the file is reached.In what instances does the read() blocks? Is there a danger that the call to read() would block forever?

thanks martian!
is the ff code right enough to prevent i/o blocking?
  FileInputStream fis = new FileInputStream(src);
  FileOutputStream fos = new FileOutputStream(sPersistorFolder+src.getName());
  if(fis.available() > 0) {
    int c = -1;
    while((c=fis.read()) != -1) {
      fos.write(c);
  fis.close();
  fos.close();

Similar Messages

  • Non-blocking file behaviour for Reader

    Hi!
    It will be really nice if Reader will not block files for writing. Assume someone is using TeX to create PDF and he need to
    a) examine the results;
    b) edit the source.
    It becomes a nightmare with Reader. Compile TeX, open Reader, examine results, close Reader. And then from the beginning.
    Auto reloading of a PDF file is also a nice feature!
    So far I can see only one solution: one should use another viewer to get non-blocking behaviour.
    Thanks!

    OK, let us see. I use Windows XP Professional SP3, Reader version is 9.3.0. I made a simple test: openned a file in Reader, then openned this file in my favourite text editor and tried to change "%PDF-1.4" to "%PDF-1.3" and save. I received a "File sharing violation error". I can also try to do it in Ubuntu.
    As for the open source viewers. That is what I am currently doing: I use additional viewer to view the files I create and I use Adobe Reader to view all other files. One can leave with such solution, but it is not the best.

  • AppleScript - Writing to non-existent directories, and non-existent files..

    All,
    AppleScript - Writing to non-existent directories, and non-existent files...
    Creating directories several levels deep on the fly.
    How do we write to a file that does not exist, buried deep down in a hierarchy of directories that don't exist either...
    In trying to do this I explored two options. One used AppleScript, assisted by UNIX, which was simplicity itself, the other one used only AppleScript and was considerably more complex, and slower.
    http://www.mac-specialist.com/r/asckdirs.html
    Hope these are useful,
    Best Regards,
    Bill Hernandez
    Plano, Texas

    Simplified code examples - lacking extensive error checking -
    UNIX example 001:
    set file_Name to "Sales Figures.txt" -- File to create.
    set file_Path to "2006 Sales:Forecast:Fruits:Flordia:Oranges:Large" -- Folder to create.
    set UNIXfilePath to (quoted form of (POSIX path of file_Path))
    try
    do shell script "mkdir -p " & UNIXfilePath -- Attempt to create a folde, and respective intermediary folder(s).
    end try
    try
    do shell script "touch " & UNIXfilePath & "/" & file_Name -- Attempt to create a blank file.
    end try
    UNIX example 002:
    set file_Name to "Sales Figures.txt" -- File to create.
    set file_Path to "2006 Sales:Forecast:Fruits:Flordia:Oranges:Large" -- Folder to create.
    try
    do shell script "mkdir -p " & (quoted form of (POSIX path of file_Path)) -- Attempt to create a folde, and respective intermediary folder(s).
    end try
    -- Create a file, and enter some text.
    set FREF to open for access file (file_Path & ":" & file_Name) with write permission
    write "Beispieltext" to FREF
    close access FREF
    AppleScript example:
    set file_Name to "Sales Figures.txt" -- File to create.
    set file_Path to "2006 Sales:Forecast:Fruits:Flordia:Oranges:Large" -- Folder to create.
    -- Obtain list of text items of 'file_Path'.
    set {oAStID, AppleScript's text item delimiters} to {AppleScript's text item delimiters, ":"}
    set filePathList to text items of file_Path
    set AppleScript's text item delimiters to oAStID
    tell application "Finder"
    set folder_Path to name of startup disk -- Obtain name of boot disk.
    repeat with i in filePathList -- Cycle through list.
    try
    make new folder at folder_Path with properties {name:i} -- create folder.
    set folder_Path to folder_Path & ":" & i -- Create new path for next new folder.
    end try
    end repeat
    end tell
    -- Create a file, and enter some text.
    set FREF to open for access file (folder_Path & ":" & file_Name) with write permission
    write "Beispieltext" to FREF
    close access FREF
      Mac OS X (10.4.4)  

  • IWeb and non-iWeb files @ same site?

    I have modified my CNAME at my personal domain site to forward to MobileMe, and I am not having any problems with that aspect. What I am wondering is ... can I have both iWeb files and non-iWeb files at the same site and still use MobileMe?
    Basically, I want to use iWeb for my main family web site, but still have my Wordpress blog as well as some older web pages that I don't want to convert to iWeb. Right now, anything that starts with my domain name is pointed to MobileMe, which precludes access to the non-iWeb files.
    Not sure if this is clear or not, but if anyone has any pointers, I would be very grateful.

    Thanks for the advice about putting the other files on MobileMe - I didn't know you could host non-iWeb pages there.
    Unfortunately, I actually don't want to store them there. My Wordpress blog is hosted on my own server (it's not a wordpress.com blog), and my old files are large and I don't want to burn up all the space on MobileMe. I have a ton of space and other good hosting services as my provider (doteasy). I do, however, like the features of iWeb for my main family page, so I want to be able to publish to MobileMe, but still have the domain function as well, with some pages accessible only through the domain, not MobileMe.

  • Both blocking and non-blocking io

    I'm wondering if this scenario is possible with the new nio classes:
    I have a caching server. Clients connect to the server and occasionally send requests for objects. I'd like to use the nio non-blocking APIs to detect that there is a read pending on a socket. However, once I detect this, I'd like to go into a blocking loop to process the request. After this done, I'd like to go back into non-blocking mode and wait for another request.
    It seems like this should be possible but the (woefully lacking) documentation isn't clear. Neither is the source code, apparently.
    I've got a test case working but I was hoping someone could validate for me that this is support behavior. It's done by waiting for the isReadable() key then calling socket.keyFor(selector).cancel(); and then socket.configureBlocking(true); The reads are then done in blocking mode until the request is done and then the socket is registered with the selector again.
    Thanks for any help on this.

    I have to ask why you would want to mix blocking and non-blocking I/O.
    The only reason you would (IMHO) want to use non-blocking I/O is in a highly concurrent system, to increase the maximum load a system can handle.
    The main reason you would want to use blocking I/O rather than non-blocking I/O would be to minimise the latency for a single request.
    Unfortunately, the two don't seem to mix together very well... by switching a thread to blocking, you decrease the latency for a single request, but increase latency for the other requests due to reduced resources available. Similarly, by switching to blocking, you are requiring a dedicated thread for that request, so limiting the number of concurrent requests that can be serviced.
    That is, it seems to me that using both blocking and non-blocking I/O introduces the weaknesses of both into the system, without gaining much of the benefits of either.
    The above aside, the method you gave looks like it would work as you expect, depending on what you are doing with thread creation/delegation. Did your test case work as expected?

  • File importer detected an inconsistency in the file stucture of (file name). Reading and writing this file's metadata (XMP) has been disabled.

    I have duplicated a project to work on another computer. The project opens fine but when I import new footage/audio files I get this message. "File importer detected an inconsistency in the file stucture of (file name). Reading and writing this file's metadata (XMP) has been disabled." Then I can't play my timeline and Premier Pro crashes.  I have to force quit and restart my computer to continue working. What does this error really mean? How do you rectify?
    Our workflow requires that we duplicate projects to make updates because we are frequently revising but need to keep original project unchanged and intact.

    I have a similar issue and message , but occurs when I import AVI clips from OnLocation CS4 to Premier Pro CS4.

  • File Read and Write using File Adapter in Bpel

    In Bpel Process i am using File Adapter ( Schema is Opaque) for read and write the file contents. i am able do successful deployment and read, write function in first time deployment, after that again i tired to run the application, its not going to write the content of file, its only writing the file with out data's or content in that file.
    Please help me...
    Saravanan

    Hi Eric
    In my domain.log file having the following details. In this file im unable to find out what the exact problem. Please look at this and help me.
    <2008-01-22 18:25:42,024> <INFO> <default.collaxa.cube.compiler> validating "C:\product\10.1.3.1\OracleAS_1\bpel\domains\default\tmp\.bpel_BPELProcess2_1.1_298e83988d77b6640c33dfeec11ed31b.tmp\BPELProcess2.bpel" ...
    <2008-01-22 18:25:49,850> <INFO> <default.collaxa.cube.engine.deployment> <CubeProcessFactory::generateProcessClass>
    Process "BPELProcess2" (revision "1.1") successfully compiled.
    <2008-01-22 18:25:49,914> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Loading JCAActivationAgent for {portType=Read_ptt}
    <2008-01-22 18:25:49,914> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> JCAActivationAgent::load - Locating Adapter Framework instance: OraBPEL
    <2008-01-22 18:25:49,930> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> JCAActivationAgent::load - Done loading JCAActivationAgent for processId='bpel://localhost/default/BPELProcess2~1.1/
    <2008-01-22 18:25:49,930> <INFO> <default.collaxa.cube.engine.deployment> Process "BPELProcess2" (revision "1.1") successfully loaded.
    <2008-01-22 18:26:02,698> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> JCAActivationAgent::uninit Shutting down the JCA activation agent, processId='bpel://localhost/default/BPELProcess2~1.0/', activation properties={portType=Read_ptt}
    <2008-01-22 18:26:02,698> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Adapter Framework instance: OraBPEL - performing endpointDeactivation for portType=Read_ptt, operation=Read
    <2008-01-22 18:26:02,698> <INFO> <default.collaxa.cube.ws> <File Adapter::Outbound> Endpoint De-activation called in adapter for endpoint : D:\MAXIMUS_Project_Softwares\jdevstudiobase10132\jdev\mywork\MyLabs\BPELProcess2\in
    <2008-01-22 18:26:02,698> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> JCAActivationAgent::init - Initializing the JCA activation agent, processId='bpel://localhost/default/BPELProcess2~1.1/
    <2008-01-22 18:26:02,698> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> JCAActivationAgent::initiateInboundJcaEndpoint - Creating and initializing inbound JCA endpoint for:
    process='bpel://localhost/default/BPELProcess2~1.1/'
    domain='default'
    WSDL location='rd.wsdl'
    portType='Read_ptt'
    operation='Read'
    activation properties={portType=Read_ptt}
    <2008-01-22 18:26:02,698> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Adapter Framework instance: OraBPEL - endpointActivation for portType=Read_ptt, operation=Read
    <2008-01-22 18:26:02,730> <INFO> <default.collaxa.cube.activation> <File Adapter::Inbound> Endpoint Activation called in File Adapter for endpoint: D:\MAXIMUS_Project_Softwares\jdevstudiobase10132\jdev\mywork\MyLabs\BPELProcess2\in
    <2008-01-22 18:26:02,730> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Adapter Framework instance: OraBPEL - successfully completed endpointActivation for portType=Read_ptt, operation=Read
    <2008-01-22 18:26:02,890> <WARN> <default.collaxa.cube.activation> <File Adapter::Inbound> PollWork::run exiting, Worker thread will die
    <2008-01-22 18:26:04,171> <INFO> <default.collaxa.cube.ws> <File Adapter::Outbound> Managed Connection Created
    <2008-01-22 18:26:04,171> <INFO> <default.collaxa.cube.ws> <File Adapter::Outbound> Connection Created
    <2008-01-22 18:26:04,171> <INFO> <default.collaxa.cube.ws> <File Adapter::Outbound> FileInteraction Created

  • How do I migrate files created in a Windows OS to a new external drive that is formatted as a MAC drive. I want to read and write these files back to the new drive.

    How do I migrate files from an external hard drive created in a Windows OS to a new MAC external drive? I want to read and write these files to the new drive.

    LKrzesowski wrote:
    How do I migrate files from an external hard drive created in a Windows OS to a new MAC external drive? I want to read and write these files to the new drive.
    If all you're trying to do is move the files from the Windows external to the Mac external, you can simply connect them both to the Mac and drag the files from the Windows drive to the Mac drive. If you want to move the files back and forth between them, you'll need to establish the format of the Windows external. Macs can read and write to FAT32 and exFAT (which can handle files larger than 4GB) formatted drives but can only read NTFS formatted drives without additional software. With the Windows drive connected, you can check its format with Disk Utility.

  • How to read and write to file on server

    can any body tell how to read or write to a file on server, like where do i keep the file and what does the path look like......on server
    stand alone i am reading and writing into file but when it comes to server i am confused how it works...i mean the path
    thank you

    The Path needs to be absolute:
    For example in Unix it would look like:
    /usr/paz/Test.txtIn Windows it would look like:
    C:/Paz/Test.txtHope this helps.
    Thanks and regards,
    Pazhanikanthan. P

  • How to read and write Xml file at client side using JavaScript !

    Hello,
    i am new to javascript.
    I have requirement to read and update XML file at client side.
    Will you please guide what could be the best way to read and update XMl file using javascript.
    Thanks,
    Zuned

    This is a Java forum,not a Javascript forum. Maybe you should ask here [http://www.webdeveloper.com/forum/forumdisplay.php?forumid=3&s|http://www.webdeveloper.com/forum/forumdisplay.php?forumid=3&s].

  • Blocking and non-blocking workflows

    How to specify a workflow to be blocking and non-blocking?
    Regards,
    Miguel

    When registering the custom workflow from Application Server Control (Enterprise Manager Web Site), you will see an option to specify whether the workflow is blocking:
    Application Server Control > Content > Custom Workflows
    Register Workflow
    * Name  
      Description  
    * Launch Event  
    * Cancel Event  
      Blocking
      Approvers Required

  • Read and List the Files from Remote Webserver Path

    Hi All,
    I have requirement where i need to Read and List the files from a Folder of Remote webserver path using JAVA.
    Remote webserver is within the network only...No Firewall and also Access is given to Read the folder. No Issues on this.
    Folder will just contain some PDF files...
    I just need to display the PDF file names available in the Folder..
    No need to read the PDF File...Only required to read the folder to list the file names in it.
    Looking forward some workaround to this.
    Thanks and Regards.

    I need to read the folder from a webserver path of different machine...
    File dir = new File( prop.getProperty("inputPath"));
    File[] files = dir.listFiles(fileFilter);     
    final String match=siteName;
         final String type=reportType;
         Calendar c1 = Calendar.getInstance();
         c1.add(Calendar.MONTH, - Integer.parseInt(prop.getProperty("filterMonths"))); //Filters reportes generated in last X months (X picked from config file)           
         final long filterDate = c1.getTime().getTime();           
         FileFilter fileFilter = new FileFilter() {
         public boolean accept(File file) {
         long fileLastModiDate = file.lastModified();      
         if((fileLastModiDate >= filterDate) && (file.getName().toLowerCase().startsWith(match)) && ( (type.equals("M") && file.getName().indexOf("WIP")==-1) || ((!type.equals("M") && file.getName().indexOf("WIP")!=-1)) ) ) {                        
              return true;
         }else {
              return false;
    Here it works fine if the input path is local machine..
    But i need to know how to give the input path as WEBSERVER PATH of different machine??

  • How to read and create TDM Files in a Java Applicatio​n?

    Hi,
    I want to read and write TDM-Files in a Java-Application.
    I found the TDMHeaderWriter for Java, that can write TDM-Files, but the reading part is still missing.
    Perhaps anyone knows an equivalent in Java to the TDM C DLL and the TDM C Header DLL?
    Thanks Verena

    Cool 
    Can you please give me feedback on this project if you have finished it?
    Matthias
    Matthias Alleweldt
    Project Engineer / Projektingenieur
    Twigeater?  

  • I'm trying to share folder between users on a single mac.  I put the folder in "shared," set permissions so other user can read and write, enabled file sharing, but can't find the folder on the second user's account.  Any help?

    I'm trying to share a folder between users on a single mac.  I want both users to be able to read and write so the folder stays current on both accounts.  I put the folder in "shared," set permissions on folder so other user can read and write, enabled file sharing, but can't find the folder on the second user's account.  Any help?

    Did you log out of one account and into the other or just used Fast user switching?
    Is the permissions set to anyone?
    When you move data to teh Shared folder is it copied or just moved?
    If copied then it's not a folder both can access, just a way station like a USB thumb drive that things are coped too and off of likely.
    You can run this #5 on each user account to reset the user permissions once they are taken back out of the Shared folder
    Step by Step to fix your Mac

  • Reading and Editing '.pdb' files in Mac OS X

    Does anyone know of a program that will read and edit '.pdb' files in Mac OS X? eReader Pro doesn't allowing editing. Thanks.

    Did you try PalmFileEdit?
    http://www.ecamm.com/mac/palmfileedit/

Maybe you are looking for

  • Write XML file on client

    I'm trying to generate XML files on a client machine. I'm using SQL*Plus Instant Client v 10.1.0.4.0 connected to DB version 10.1.0.3.0. I've created a view of XMLType and am able to select XML from this view. I've been unable to figure out a way to

  • Image in table column

    Hello All, I have a table with some data in it, but one of the columns of the table I want to put an image. Is that possible? How do I do that? Thanks & Regards, Chris Bogers

  • Is there a way to link duplicate objects or artboards so that you can manipulate multiple copies simultaneously?

    Is there a way that I can link copies of an object so that I can manipulate one copy and the others will change also in real time? Maybe with artboards? Wondering if there's a way to make a duplicate instance of an artboard that is 'linked' so it cha

  • Wifi disconnects when waking from sleep mode; running Mountain Lion

    Had this same issue with Lion as well,, wifi disconnects when waking from sleep mode,,,any ideas how to fix this pesky issue?

  • Content dissappears in IE7

    I have a flash navigation that works fine in every browser except IE7. I have the flash 8 plugin installed and exported the movie at version 7. The content is loaded from an external txt file. The movie actually loads fine but the content is missing.