factor/library/io/files.factor

30 lines
815 B
Factor
Raw Normal View History

! Copyright (C) 2004, 2005 Slava Pestov.
! See http://factor.sf.net/license.txt for BSD license.
IN: io
2005-09-17 04:15:05 -04:00
USING: hashtables kernel lists namespaces sequences strings ;
! Words for accessing filesystem meta-data.
2004-11-25 21:51:47 -05:00
2005-06-19 18:31:02 -04:00
: path+ ( path path -- path ) "/" swap append3 ;
2005-09-01 16:37:32 -04:00
: exists? ( file -- ? ) stat >boolean ;
2005-09-01 16:37:32 -04:00
2005-03-19 00:30:49 -05:00
: directory? ( file -- ? ) stat car ;
2005-09-01 16:37:32 -04:00
: directory ( dir -- list )
(directory)
{{ [[ "." "." ]] [[ ".." ".." ]] }}
swap remove-all string-sort ;
2005-09-01 16:37:32 -04:00
: file-length ( file -- length ) stat third ;
2005-09-01 16:37:32 -04:00
: file-extension ( filename -- extension )
"." split cdr dup [ peek ] when ;
2005-09-14 00:37:50 -04:00
: resource-path ( path -- path )
"resource-path" get [ "." ] unless* swap path+ ;
: <resource-stream> ( path -- stream )
#! Open a file path relative to the Factor source code root.
2005-09-14 00:37:50 -04:00
resource-path <file-reader> ;