[Java lista] FileNotFoundException holott ottan van az :-)

Marai Laszlo lists at atleta.hu
2009. Jún. 11., Cs, 16:43:09 CEST


On Thu, 11 Jun 2009 15:27:50 +0100
biziclop <biziclop at gmail.com> wrote:

  Hali!

> Kiveve ha a filenev nem felel meg annak a specifikacionak, amit a

Szerintem jo esely van ra, hogy az fs-t nem erdekli a file nevek
kodolasa, kiveve ha van olyan API ahol ezt meg lehet adni vagy aminel
definialva van, hogy mondjuk UTF-8-at hasznal.

> filerendszer eloir. Hogy miert nem felel meg, az hadd legyen mar a
> filerendszer implementalojanak a problemaja.

Megis csak a java oldalon lehet a 'hiba':
http://en.wikipedia.org/wiki/UTF-8#Invalid_byte_sequences . A cp852-vel
(vagy 1250-nel) kodolt file nevek ugy latszik UTF-8ban ertelmezve neha
ilyen ervenytelen UTF8 szekvenciat eredmenyeznek, amivel a java csinal
valamit amikor beolvassa es UTF-16-ra dekodolja a stringet es az
ujrakodolasnal (amiko visszaalakul UTF-8-ra a nativ API hivas elott)
nyilvan nem ugyanaz lesz az eredmeny, hiszen ekkor mar egy jo
algoritmussal fogja lekodolni a korabban valahogy atalakitott stringet.

Ezt egyebkent ki lehet probalni, ha valahogy ki tudod olvsni az eredeti
file nevet, mint byte ertekeket mindenfele konverzio nelkul. C-ben
biztosan megy, talan pythonban is, ami sokkal kevesbe fajdalmas ;).

Es utana eleg egy egyszeru new String( fileNameBytes ).getBytes(), hogy
kideruljon azonos-e a ketto.


> 
> lsp
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist


-- 


További információk a(z) Javalist levelezőlistáról