On 2019-01-21, Albretch Mueller wrote:

>  I downloaded this file using wget:
> 
>  
> http://dumps.wikimedia.your.org/other/static_html_dumps/2008-06/en/wikipedia-en-html.tar.7z
> 
>  and it seems to be fine:

...

> $ 7z l "${_IFL}"
> 

...

>    Date      Time    Attr         Size   Compressed  Name
> ------------------- ----- ------------ ------------  ------------------------
> 2008-06-18 13:02:15 ..... 223674511360  15363543113  wikipedia-en-html.tar
> ------------------- ----- ------------ ------------  ------------------------
> 2008-06-18 13:02:15       223674511360  15363543113  1 files

> 
>  But when I try to use apache.compress I can get the name of the
> compressed/contained file even though ark and 7z show it to you.

I get the same results. It looks as if the archive was doing something
unusual.

Watching Commons Compress while it reads the archive shows the archive
does not contain any file names inside of the "FilesInfo" part which is
why "null" is returned as name. There must be a place where the file
name is stored that is not expected by our code and I'll need time, a
hex editor and maybe a newer version of the format specification in
order to understand what is going on. It is not really helping that the
only known file exhibiting the problem is 15 GB in size :-)

Could you please open a JIRA issue if you want to keep track of any
progress we might make?

...

> Also, if OO works, I should be able to access and process this file
> while addressing it like (using an exclamation mark):
> 
>  wikipedia-en-html.tar.7z!wikipedia-en-html.tar
> 
>  So, I this point I should be able to go:
> 
>  String aIFl = "wikipedia-en-html.tar.7z!wikipedia-en-html.tar"
>  FileInputStream FISTarK = new FileInputStream(new File(aIFl));

This would require the File class to know the exclamation mark syntax,
which it doesn't - and FileInputStream would need to know how to detect
this is an entry inside of a 7z archive and whom to ask when it needs to
extract the entry. This is not how the java.io package works.

Java's URLs would be closer, but most likely you'd need something like
Commons VFS or java.nio.file.FileSystem which have proper abstractions
for a higher level API than the one provided by Compress. Unfortunately
I'm neither of them supports 7z either, though.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
For additional commands, e-mail: user-h...@commons.apache.org

Reply via email to