Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: How to stat a file with a Unicode (UTF16-LE) filename in Windows?

by ikegami (Pope)
on Feb 06, 2009 at 05:57 UTC ( #741805=note: print w/ replies, xml ) Need Help??


in reply to How to stat a file with a Unicode (UTF16-LE) filename in Windows?

In chat, you said Win32API::File's CreateFileW + OsFHandleOpen didn't work. ("I have used Win32API::File, but it does not support converting the file handle for wide calls to Perl equivalents.") I downvoted for not showing what you tried because it does work.

use strict; use warnings; use Encode qw( encode ); use File::stat qw( stat ); use Symbol qw( gensym ); use Win32API::File qw( CreateFileW OsFHandleOpen GENERIC_READ FILE_SHARE_READ OPEN_EXISTING ); { # The file name consists of a black heart (U+2665). my $fn = encode('UCS-2le', "\x{2665}"); my $handle = CreateFileW( $fn, GENERIC_READ, FILE_SHARE_READ, [], OPEN_EXISTING, 0, [] ) or die("CreateFile: $^E\n"); my $fh = gensym(); OsFHandleOpen($fh, $handle, "r") or die("OsFHandleOpen: $!\n"); my $stat = stat($fh); print("atime: ", scalar(localtime($stat->atime())), "\n"); print("mtime: ", scalar(localtime($stat->mtime())), "\n"); print("ctime: ", scalar(localtime($stat->ctime())), "\n"); }
atime: Fri Feb 6 00:44:39 2009 mtime: Fri Feb 6 00:44:39 2009 ctime: Fri Feb 6 00:44:39 2009


Comment on Re: How to stat a file with a Unicode (UTF16-LE) filename in Windows?
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://741805]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (7)
As of 2015-07-03 18:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (55 votes), past polls