I need file timestamp and size, so I need a full FileInfo.

-- 
  rob
  drrob...@fastmail.com



On Sat, Mar 13, 2021, at 6:11 PM, Axel Wagner wrote:
> 
> 
> On Sat, Mar 13, 2021 at 11:52 PM rob <drrob...@fastmail.com> wrote:
>> Sorry, I did not intend to open a new thread.

>> I don't know how to answer you about the actual contents of the directory of 
>> interest.  It's my c:\users\rob\Documents directory.

>> There are a lot of files there.  I'm writing my own version of the dir 
>> command, one that will sort and behave exactly as I want.  I decided to 
>> experiment w/ the new library definitions; and discovered that DirEntry is 
>> not a replacement for FileInfo.  I thought that was the intent of the Go 
>> team, but I guess did not understand.

> It is, for most use-cases that want to list the contents of a file. It works 
> around the fact that on many platforms, you already get *some* info in the 
> readdir call but some info only by following it up with a Stat - returning a 
> FileInfo requires you to do the stat, but most applications only need the 
> things returned already by readdir itself and don't need to follow it up with 
> a separate stat call. The DirEntry design splits up the info returned by 
> readdir (namely the file names and the file mode) from the info returned by 
> stat (the DirEntry.Info method).
> 
> I still don't understand why you think that ReadDir/DirEntry did not work for 
> you - as I said, from your code the issue seems to simply be that you call 
> ReadDir on regular files, instead of directories. OTOH, as long as you've 
> find a solution that works for you, I guess that's fine.
>>   In my code I went back to using Lstat, and instead of ioutil.ReadDir, I 
>> now use 

>> f, err := os.Open(directoryname)

>> if err != nil { blah blah blah}

>> files, err := f.Readdir(0)

>> if err != nil { blah blah blah}

>> And this works for me.

>> --rob solomon

>> 

>> 

>> On 3/11/21 4:00 PM, Axel Wagner wrote:
>>> I don't understand why you opened a new thread. But FWIW, it would still be 
>>> useful to know 
>>> a) what the actual contents of the directory are you are globbing
>>> b) which of those file names is then giving you an error
>>> c) and which specific call is returning that error.
>>> 
>>> Your message "Unexpected error from os.DirEntry" is confusing, as the only 
>>> method of os.DirEntry that could return an error, hardcodes that error to 
>>> be nil, as far as I can tell:
>>> https://github.com/golang/go/blob/b3896fc331c36a539f825f1f656cef3f9cdffd3f/src/os/dir_windows.go#L68
>>> 
>>> In the other thread, I also tried to provide a plausible explanation from 
>>> the limited info - it seems strange that you are globbing for *.txt files 
>>> and then call ReadDir with those filenames. Have you read that message?
>>> 
>>> On Thu, Mar 11, 2021 at 9:31 PM rob <drrob...@fastmail.com> wrote:
>>>> As the subject line says, this is on windows.
>>>> I'm getting the file not found error for every file returned by the glob 
>>>> function.   
>>>> 
>>>> I guess I misunderstood the purpose of ReadDir, and I really need to call 
>>>> os.Lstat to retrieve the directory information for each individual file 
>>>> that matches the glob pattern on widows 10.
>>>> 
>>>> I'll check,  but I'm able to call os.ReadDir on an individual file on 
>>>> Ubuntu 20.04.  I'll confirm when I get home that I'm getting a FileInfo 
>>>> structure returned from this routine 
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>>   rob
>>>>   drrob...@fastmail.com
>>>> 
>>>> -- 
>>>> You received this message because you are subscribed to the Google Groups 
>>>> "golang-nuts" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>> email to golang-nuts+unsubscr...@googlegroups.com 
>>>> <mailto:golang-nuts%2bunsubscr...@googlegroups.com>.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/golang-nuts/137cb626-90f1-455e-b0aa-7a6d476e3813%40www.fastmail.com.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/df41189f-9f10-4a86-a3d8-5f8da6c0d2af%40www.fastmail.com.

Reply via email to