Re: Read Zipped files [message #49895] |
Wed, 30 August 2006 14:36  |
loknath
Messages: 11 Registered: May 2006
|
Junior Member |
|
|
I am running out of hard drive space and didnt want to unzip the files
but now I feel it is easier if I unzip the files in my hard drive.
Thanks everyone
Loknath
Mike Wallace wrote:
>> I don't think any of this would work in Windows but probably in OS X. Didn't
>> someone have a Windows DLM that supported zipped files?
>
> You're right. Windows doesn't have the same concept of named pipes that
> *nix does, and due to OS X being rooted in BSD, it should support named
> pipes.
>
> As for the original question, if you're using gzip to compress the
> files, IDL can read them by using the /COMPRESS flag to the OPENR, OPENU
> or OPENW commands.
>
> If you're files are zip files, the only option I know of is to unzip the
> file before you use it. If you are using *nix, you can use the named
> pipe approach as the file would be unzipped into memory rather than to
> the hard drive. If you're using Windows, the only option I can think of
> is to write a small program in another language that could handle the
> unzip and stream the results out to shared memory. You'd then have to
> make your IDL program read from shared memory instead of the file. It's
> not the easiest thing in the world if you've never worked with shared
> memory before.
>
> When you said that it would "be costly for my hard drive," what do you
> mean? Are you referring to all the files that would have to be written
> back out to disk all the time or are you concerned with running out of
> disk space?
>
> -Mike
|
|
|
|
Re: Read Zipped files [message #49917 is a reply to message #49915] |
Tue, 29 August 2006 21:05   |
Mike Wallace
Messages: 25 Registered: May 2006
|
Junior Member |
|
|
> I don't think any of this would work in Windows but probably in OS X. Didn't
> someone have a Windows DLM that supported zipped files?
You're right. Windows doesn't have the same concept of named pipes that
*nix does, and due to OS X being rooted in BSD, it should support named
pipes.
As for the original question, if you're using gzip to compress the
files, IDL can read them by using the /COMPRESS flag to the OPENR, OPENU
or OPENW commands.
If you're files are zip files, the only option I know of is to unzip the
file before you use it. If you are using *nix, you can use the named
pipe approach as the file would be unzipped into memory rather than to
the hard drive. If you're using Windows, the only option I can think of
is to write a small program in another language that could handle the
unzip and stream the results out to shared memory. You'd then have to
make your IDL program read from shared memory instead of the file. It's
not the easiest thing in the world if you've never worked with shared
memory before.
When you said that it would "be costly for my hard drive," what do you
mean? Are you referring to all the files that would have to be written
back out to disk all the time or are you concerned with running out of
disk space?
-Mike
|
|
|
|
Re: Read Zipped files [message #50089 is a reply to message #49895] |
Thu, 31 August 2006 05:13  |
Haje Korth
Messages: 651 Registered: May 1997
|
Senior Member |
|
|
Use a temp directory than you clear out after processing each file.
this is essentially what you would do with unzipping to RAM as well.
Of course you are free to look beyond the IDL prompt usage to join the
group of DLM programmers. :-)
loknath wrote:
> I am running out of hard drive space and didnt want to unzip the files
> but now I feel it is easier if I unzip the files in my hard drive.
> Thanks everyone
> Loknath
>
> Mike Wallace wrote:
>>> I don't think any of this would work in Windows but probably in OS X. Didn't
>>> someone have a Windows DLM that supported zipped files?
>>
>> You're right. Windows doesn't have the same concept of named pipes that
>> *nix does, and due to OS X being rooted in BSD, it should support named
>> pipes.
>>
>> As for the original question, if you're using gzip to compress the
>> files, IDL can read them by using the /COMPRESS flag to the OPENR, OPENU
>> or OPENW commands.
>>
>> If you're files are zip files, the only option I know of is to unzip the
>> file before you use it. If you are using *nix, you can use the named
>> pipe approach as the file would be unzipped into memory rather than to
>> the hard drive. If you're using Windows, the only option I can think of
>> is to write a small program in another language that could handle the
>> unzip and stream the results out to shared memory. You'd then have to
>> make your IDL program read from shared memory instead of the file. It's
>> not the easiest thing in the world if you've never worked with shared
>> memory before.
>>
>> When you said that it would "be costly for my hard drive," what do you
>> mean? Are you referring to all the files that would have to be written
>> back out to disk all the time or are you concerned with running out of
>> disk space?
>>
>> -Mike
|
|
|