Initial data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 72d218235f
commit f23f22d71c
199087 changed files with 3378941 additions and 0 deletions

View file

@ -0,0 +1,3 @@
---
from: http://rosettacode.org/wiki/File_size
note: File System Operations

View file

@ -0,0 +1,3 @@
Verify the size of a file called     '''input.txt'''     for a file in the current working directory, and another one in the file system root.
<br><br>

View file

@ -0,0 +1,2 @@
V size1 = fs:file_size(input.txt)
V size2 = fs:file_size(/input.txt)

View file

@ -0,0 +1,68 @@
putch: equ 2 ; Print character
puts: equ 9 ; Print $-terminated string
setdta: equ 1Ah ; Set DTA
stat: equ 4Eh ; Get file info
cpu 8086
bits 16
org 100h
section .text
mov si,curf ; Print file size for 'INPUT.TXT'
call pfsize ; (in current directory),
mov si,rootf ; Then for '\INPUT.TXT' in root directory
;;; Print file name and size for file in DS:SI
pfsize: mov ah,setdta ; Set disc transfer area pointer
mov dx,dta
int 21h
call puts0 ; Print the filename in SI
mov ah,puts ; Print colon and space
mov dx,colspc
int 21h
mov ah,stat ; Find file info
xor cx,cx ; We want a normal file
mov dx,si ; Filename is in SI
int 21h
jnc .ok ; Carry clear = found
mov ah,puts ; Carry set = not found = print 'not found'
mov dx,nofile
int 21h
ret
.ok: les bp,[dta+26] ; 32-bit file size in bytes at DTA+26
mov di,es ; DI:BP = 32-bit file size
mov bx,numbuf ; ASCII number buffer
mov cx,10 ; Divisor (10)
.dgt: xor dx,dx ; 32-bit division (to get digits)
mov ax,di ; can be done with chained DIVs
div cx
mov di,ax
mov ax,bp
div cx
mov bp,ax
add dl,'0' ; DX is now remainder, i.e. digit
dec bx ; Move digit pointer backwards,
mov [bx],dl ; Store ASCII digit,
or ax,di ; If the new divisor is not zero,
jnz .dgt ; then there is another digit.
mov ah,puts ; If so, the number is done,
mov dx,bx ; and we can print it.
int 21h
ret
;;; Print 0-terminated string in SI
puts0: push si ; Save SI register
mov ah,putch ; Print char syscall
.loop: lodsb ; Load character from SI
test al,al ; If zero,
jz .out ; then stop.
mov dl,al ; Tell DOS to print character
int 21h
jmp .loop ; go get another.
.out: pop si ; Restore SI register
ret
section .data
rootf: db '\' ; \INPUT.TXT (for root) and
curf: db 'INPUT.TXT',0 ; INPUT.TXT (for current directory)
nofile: db 'Not found.',13,10,'$' ; "Not found" message
db '0000000000' ; Number output buffer
numbuf: db ' bytes',13,10,'$'
colspc: db ': $' ; Colon and space
section .bss
dta: resb 512 ; Disc transfer area

View file

@ -0,0 +1,203 @@
/* ARM assembly AARCH64 Raspberry PI 3B */
/* program filelen64.s */
/************************************/
/* Constantes */
/************************************/
/* for this file see task include a file in language AArch64 assembly*/
.include "../includeConstantesARM64.inc"
.equ FSTAT, 0x50
/************************************/
/* structure de type stat : file infos */
/************************************/
.struct 0
Stat_dev_t: /* ID of device containing file */
.struct Stat_dev_t + 8
Stat_ino_t: /* inode */
.struct Stat_ino_t + 8
Stat_mode_t: /* File type and mode */
.struct Stat_mode_t + 4
Stat_nlink_t: /* Number of hard links */
.struct Stat_nlink_t + 4
Stat_uid_t: /* User ID of owner */
.struct Stat_uid_t + 4
Stat_gid_t: /* Group ID of owner */
.struct Stat_gid_t + 4
Stat_rdev_t: /* Device ID (if special file) */
.struct Stat_rdev_t + 8
Stat_size_deb: /* la taille est sur 8 octets si gros fichiers */
.struct Stat_size_deb + 8
Stat_size_t: /* Total size, in bytes */
.struct Stat_size_t + 8
Stat_blksize_t: /* Block size for filesystem I/O */
.struct Stat_blksize_t + 8
Stat_blkcnt_t: /* Number of 512B blocks allocated */
.struct Stat_blkcnt_t + 8
Stat_atime: /* date et heure fichier */
.struct Stat_atime + 8
Stat_mtime: /* date et heure modif fichier */
.struct Stat_atime + 8
Stat_ctime: /* date et heure creation fichier */
.struct Stat_atime + 8
Stat_End:
/*********************************/
/* Initialized data */
/*********************************/
.data
szMessResult: .asciz " File size = "
szCarriageReturn: .asciz "\n"
szMessErrOpen: .asciz "Error open file\n"
szMessErrStat: .asciz "Error stats file\n"
szFileName: .asciz "input.txt"
szFileName1: .asciz "../../../input.txt"
/*********************************/
/* UnInitialized data */
/*********************************/
.bss
sZoneConv: .skip 24
sBuffer: .skip Stat_End
/*********************************/
/* code section */
/*********************************/
.text
.global main
main:
ldr x0,qAdrszFileName // file name
bl filesize
cmp x0,#0
blt 100f
ldr x1,qAdrsZoneConv
bl conversion10 // call décimal conversion
mov x0,#4
ldr x1,qAdrszFileName
ldr x2,qAdrszMessResult
ldr x3,qAdrsZoneConv // insert conversion in message
ldr x4,qAdrszCarriageReturn
stp x4,x4,[sp,-16]! // save registers
bl displayStrings // display message
add sp,sp,#16 // 1 parameter on stack
ldr x0,qAdrszFileName1 // file name
bl filesize
cmp x0,#0
blt 100f
ldr x1,qAdrsZoneConv
bl conversion10 // call décimal conversion
ldr x0,qAdrsZoneConv
mov x0,#4
ldr x1,qAdrszFileName1
ldr x2,qAdrszMessResult
ldr x3,qAdrsZoneConv // insert conversion in message
ldr x4,qAdrszCarriageReturn
stp x4,x4,[sp,-16]! // save registers
bl displayStrings // display message
add sp,sp,#16 // 1 parameter on stack
100: // standard end of the program
mov x0, #0 // return code
mov x8,EXIT
svc #0 // perform the system call
qAdrszCarriageReturn: .quad szCarriageReturn
qAdrsZoneConv: .quad sZoneConv
qAdrszMessResult: .quad szMessResult
qAdrszFileName: .quad szFileName
qAdrszFileName1: .quad szFileName1
qAdrsBuffer: .quad sBuffer
qAdrszMessErrOpen: .quad szMessErrOpen
qAdrszMessErrStat: .quad szMessErrStat
/***************************************************/
/* display multi strings */
/***************************************************/
/* x0 contains number strings address */
filesize: // INFO: filesize
stp x1,lr,[sp,-16]! // save registers
stp x2,x3,[sp,-16]! // save registers
stp x4,x5,[sp,-16]! // save registers
stp x6,x7,[sp,-16]! // save registers
stp x8,x9,[sp,-16]! // save registers
mov x1,x0
mov x0,#AT_FDCWD
mov x2,#O_RDWR // flags
mov x3,#0 // mode
mov x8,#OPEN
svc 0
cmp x0,#0 // error ?
ble 99f
mov x8,x0 // Fd save
ldr x1,qAdrsBuffer // buffer address
mov x8,#FSTAT
svc 0
cmp x0,#0
blt 98f
ldr x1,qAdrsBuffer // buffer address
ldr x4,[x1,#Stat_size_t] // file size
mov x0,x8
mov x8,CLOSE
mov x0,x4 // return size
b 100f
98:
ldr x0,qAdrszMessErrStat
bl affichageMess
mov x0,#-1
b 100f
99:
ldr x0,qAdrszMessErrOpen
bl affichageMess
mov x0,#-1
100:
ldp x8,x9,[sp],16 // restaur registers
ldp x6,x7,[sp],16 // restaur registers
ldp x4,x5,[sp],16 // restaur registers
ldp x2,x3,[sp],16 // restaur registers
ldp x1,lr,[sp],16 // restaur registers
ret
/***************************************************/
/* display multi strings */
/***************************************************/
/* x0 contains number strings address */
/* x1 address string1 */
/* x2 address string2 */
/* x3 address string3 */
/* other address on the stack */
/* thinck to add number other address * 4 to add to the stack */
displayStrings: // INFO: displayStrings
stp x1,lr,[sp,-16]! // save registers
stp x2,x3,[sp,-16]! // save registers
stp x4,x5,[sp,-16]! // save registers
add fp,sp,#48 // save paraméters address (6 registers saved * 4 bytes)
mov x4,x0 // save strings number
cmp x4,#0 // 0 string -> end
ble 100f
mov x0,x1 // string 1
bl affichageMess
cmp x4,#1 // number > 1
ble 100f
mov x0,x2
bl affichageMess
cmp x4,#2
ble 100f
mov x0,x3
bl affichageMess
cmp x4,#3
ble 100f
mov x3,#3
sub x2,x4,#4
1: // loop extract address string on stack
ldr x0,[fp,x2,lsl #3]
bl affichageMess
subs x2,x2,#1
bge 1b
100:
ldp x4,x5,[sp],16 // restaur registers
ldp x2,x3,[sp],16 // restaur registers
ldp x1,lr,[sp],16 // restaur registers
ret
/***************************************************/
/* ROUTINES INCLUDE */
/***************************************************/
/* for this file see task include a file in language AArch64 assembly */
.include "../includeARM64.inc"

View file

@ -0,0 +1 @@
PROC set = (REF FILE file, INT page, line, character)VOID: ~

View file

@ -0,0 +1,194 @@
/* ARM assembly Raspberry PI or android with termux */
/* program filelen.s */
/* REMARK 1 : this program use routines in a include file
see task Include a file language arm assembly
for the routine affichageMess conversion10
see at end of this program the instruction include */
/* for constantes see task include a file in arm assembly */
/************************************/
/* Constantes */
/************************************/
.include "../constantes.inc"
.equ OPEN, 5
.equ NEWFSTAT, 0xc5
.equ O_RDWR, 0x0002 @ open for reading and writing
/************************************/
/* structure de type stat : file infos */
/************************************/
.struct 0
Stat_dev_t: /* ID of device containing file */
.struct Stat_dev_t + 8
Stat_ino_t: /* inode */
.struct Stat_ino_t + 8
Stat_mode_t: /* File type and mode */
.struct Stat_mode_t + 4
Stat_nlink_t: /* Number of hard links */
.struct Stat_nlink_t + 4
Stat_uid_t: /* User ID of owner */
.struct Stat_uid_t + 4
Stat_gid_t: /* Group ID of owner */
.struct Stat_gid_t + 4
Stat_rdev_t: /* Device ID (if special file) */
.struct Stat_rdev_t + 8
Stat_size_deb: /* la taille est sur 8 octets si gros fichiers */
.struct Stat_size_deb + 8
Stat_size_t: /* Total size, in bytes */
.struct Stat_size_t + 4
Stat_blksize_t: /* Block size for filesystem I/O */
.struct Stat_blksize_t + 4
Stat_blkcnt_t: /* Number of 512B blocks allocated */
.struct Stat_blkcnt_t + 4
Stat_atime: /* date et heure fichier */
.struct Stat_atime + 8
Stat_mtime: /* date et heure modif fichier */
.struct Stat_atime + 8
Stat_ctime: /* date et heure creation fichier */
.struct Stat_atime + 8
Stat_End:
/*********************************/
/* Initialized data */
/*********************************/
.data
szMessResult: .asciz " File size = "
szCarriageReturn: .asciz "\n"
szMessErrOpen: .asciz "Error open file\n"
szMessErrStat: .asciz "Error stats file\n"
szFileName: .asciz "input.txt"
szFileName1: .asciz "../../../input.txt"
.align 2
/*********************************/
/* UnInitialized data */
/*********************************/
.bss
sZoneConv: .skip 24
sBuffer: .skip Stat_End
/*********************************/
/* code section */
/*********************************/
.text
.global main
main:
ldr r0,iAdrszFileName @ file name
bl filesize
cmp r0,#0
blt 100f
ldr r1,iAdrsZoneConv
bl conversion10 @ call décimal conversion
mov r0,#4
ldr r1,iAdrszFileName
ldr r2,iAdrszMessResult
ldr r3,iAdrsZoneConv @ insert conversion in message
ldr r4,iAdrszCarriageReturn
push {r4}
bl displayStrings @ display message
add sp,#4 @ 1 parameter on stack
ldr r0,iAdrszFileName1 @ file name
bl filesize
cmp r0,#0
blt 100f
ldr r1,iAdrsZoneConv
bl conversion10 @ call décimal conversion
mov r0,#4
ldr r1,iAdrszFileName1
ldr r2,iAdrszMessResult
ldr r3,iAdrsZoneConv @ insert conversion in message
ldr r4,iAdrszCarriageReturn
push {r4}
bl displayStrings @ display message
add sp,#4 @ 1 parameter on stack
100: @ standard end of the program
mov r0, #0 @ return code
mov r7, #EXIT @ request to exit program
svc #0 @ perform the system call
iAdrszCarriageReturn: .int szCarriageReturn
iAdrsZoneConv: .int sZoneConv
iAdrszMessResult: .int szMessResult
iAdrszFileName: .int szFileName
iAdrszFileName1: .int szFileName1
iAdrsBuffer: .int sBuffer
iAdrszMessErrOpen: .int szMessErrOpen
iAdrszMessErrStat: .int szMessErrStat
/***************************************************/
/* display multi strings */
/***************************************************/
/* r0 contains number strings address */
filesize: @ INFO: filesize
push {r1-r8,fp,lr} @ save des registres
mov r1,#O_RDWR @ flags
mov r2,#0 @ mode
mov r7,#OPEN
svc 0
cmp r0,#0 @ error ?
ble 99f
mov r8,r0 @ Fd save
ldr r1,iAdrsBuffer @ buffer address
mov r7,#NEWFSTAT
svc 0
cmp r0,#0
blt 98f
ldr r0,iAdrsBuffer
ldr r1,iAdrsBuffer @ buffer address
ldr r4,[r1,#Stat_size_t] @ file size
mov r0,r8
mov r7,#CLOSE
mov r0,r4 @ return size
b 100f
98:
ldr r0,iAdrszMessErrStat
bl affichageMess
mov r0,#-1
b 100f
99:
ldr r0,iAdrszMessErrOpen
bl affichageMess
mov r0,#-1
100:
pop {r1-r8,fp,pc}
/***************************************************/
/* display multi strings */
/***************************************************/
/* r0 contains number strings address */
/* r1 address string1 */
/* r2 address string2 */
/* r3 address string3 */
/* other address on the stack */
/* thinck to add number other address * 4 to add to the stack */
displayStrings: @ INFO: displayStrings
push {r1-r4,fp,lr} @ save des registres
add fp,sp,#24 @ save paraméters address (6 registers saved * 4 bytes)
mov r4,r0 @ save strings number
cmp r4,#0 @ 0 string -> end
ble 100f
mov r0,r1 @ string 1
bl affichageMess
cmp r4,#1 @ number > 1
ble 100f
mov r0,r2
bl affichageMess
cmp r4,#2
ble 100f
mov r0,r3
bl affichageMess
cmp r4,#3
ble 100f
mov r3,#3
sub r2,r4,#4
1: @ loop extract address string on stack
ldr r0,[fp,r2,lsl #2]
bl affichageMess
subs r2,#1
bge 1b
100:
pop {r1-r4,fp,pc}
/***************************************************/
/* ROUTINES INCLUDE */
/***************************************************/
.include "../affichage.inc"

View file

@ -0,0 +1,11 @@
@load "filefuncs"
function filesize(name ,fd) {
if ( stat(name, fd) == -1)
return -1 # doesn't exist
else
return fd["size"]
}
BEGIN {
print filesize("input.txt")
print filesize("/input.txt")
}

View file

@ -0,0 +1,38 @@
BEGIN {
# Windows
printf("input.txt\t%s\n", system2var("for %I in (input.txt) do @echo %~zI"))
printf("\input.txt\t%s\n", system2var("for %I in (\input.txt) do @echo %~zI"))
# Non-Windows
printf("input.txt\t%s\n", getline2var("stat --printf=\"%s\" input.txt"))
printf("/input.txt\t%s\n", getline2var("stat --printf=\"%s\" /input.txt"))
}
# Windows system() method
function system2var(command ,tempfile, cmd, out, rec, data, i) {
tempfile = "C:\\TEMP\\TMP.TMP"
cmd = command " > " tempfile
system(cmd)
close(cmd)
while (getline rec < tempfile > 0) {
if ( ++i == 1 )
data = rec
else
data = data "\n" rec
}
return(data)
}
# Non-windows getline method
function getline2var(command ,fish, scale, ship) {
command = command " 2>/dev/null"
while ( (command | getline fish) > 0 ) {
if ( ++scale == 1 )
ship = fish
else
ship = ship "\n" fish
}
close(command)
return ship
}

View file

@ -0,0 +1,47 @@
INCLUDE "D2:IO.ACT" ;from the Action! Tool Kit
PROC Dir(CHAR ARRAY filter)
BYTE dev=[1]
CHAR ARRAY line(255)
Close(dev)
Open(dev,filter,6)
DO
InputSD(dev,line)
PrintE(line)
IF line(0)=0 THEN
EXIT
FI
OD
Close(dev)
RETURN
CARD FUNC FileSize(CHAR ARRAY src,dst)
DEFINE BUF_LEN="100"
BYTE dev=[1]
BYTE ARRAY buff(BUF_LEN)
CARD len,size
size=0
Close(dev)
Open(dev,src,4)
DO
len=Bget(dev,buff,BUF_LEN)
size==+len
UNTIL len#BUF_LEN
OD
Close(dev)
RETURN (size)
PROC Main()
CHAR ARRAY filter="D:*.*", fname="D:INPUT.TXT"
CARD size
Put(125) PutE() ;clear screen
PrintF("Dir ""%S""%E",filter)
Dir(filter)
size=FileSize(fname)
PrintF("Size of ""%S"" is %U bytes%E",fname,size)
RETURN

View file

@ -0,0 +1,14 @@
INCLUDE"REAL.ACT" ;from the Action! Tool Kit
proc MAIN()
byte array astring
byte IOCB1=$350,ICAX3=IOCB1+12,ICAX4=IOCB1+13,ICAX5=IOCB1+14
real A,B,C,FLEN
open(1,"D:REAL.ACT",4,0) xio(1,0,39,"D:REAL.ACT") close(1)
IntToReal(ICAX3,FLEN)
IntToReal(ICAX4,A) astring="256" ValR(astring,B) RealMult(A,B,C) RealAdd(FLEN,C,FLEN)
IntToReal(ICAX5,A) astring="65536" ValR(astring,B) RealMult(A,B,C) RealAdd(FLEN,C,FLEN)
print("Size of REAL.ACT is ") printRD(DEVICE,FLEN) printe(" bytes")
return

View file

@ -0,0 +1,8 @@
with Ada.Directories; use Ada.Directories;
with Ada.Text_IO; use Ada.Text_IO;
procedure Test_File_Size is
begin
Put_Line (File_Size'Image (Size ("input.txt")) & " bytes");
Put_Line (File_Size'Image (Size ("/input.txt")) & " bytes");
end Test_File_Size;

View file

@ -0,0 +1,2 @@
o_(stat("input.txt", ST_SIZE), "\n");
o_("/Cygwin.ico".stat(ST_SIZE), "\n");

View file

@ -0,0 +1,2 @@
print volume "input.txt"
print volume "/input.txt"

View file

@ -0,0 +1,4 @@
FileGetSize, FileSize, input.txt ; Retrieve the size in bytes.
MsgBox, Size of input.txt is %FileSize% bytes
FileGetSize, FileSize, \input.txt, K ; Retrieve the size in Kbytes.
MsgBox, Size of \input.txt is %FileSize% Kbytes

View file

@ -0,0 +1,5 @@
If GetCalc("appvINPUT")→I
Disp {I-2}ʳ▶Dec,i
Else
Disp "NOT FOUND",i
End

View file

@ -0,0 +1,11 @@
file% = OPENIN(@dir$+"input.txt")
IF file% THEN
PRINT "File size = " ; EXT#file%
CLOSE #file%
ENDIF
file% = OPENIN("\input.txt")
IF file% THEN
PRINT "File size = " ; EXT#file%
CLOSE #file%
ENDIF

View file

@ -0,0 +1,12 @@
' file size
' Return the entire message, FILELEN returns a NUMBER
FUNCTION printlen$(STRING name$)
IF FILEEXISTS(name$) THEN
RETURN name$ & ": " & STR$(FILELEN(name$))
ELSE
RETURN "file " & name$ & " not found"
END IF
END FUNCTION
PRINT printlen$("input.txt")
PRINT printlen$("/input.txt")

View file

@ -0,0 +1,4 @@
@echo off
if not exist "%~1" exit /b 1 & rem If file doesn't exist exit with error code of 1.
for /f %%i in (%~1) do echo %~zi
pause>nul

View file

@ -0,0 +1,14 @@
(getFileSize=
size
. fil$(!arg,rb) {read in binary mode}
& fil$(,END) {seek to end of file}
& fil$(,TEL):?size {tell where we are}
& fil$(,SET,-1) {seeking to an impossible position closes the file, and fails}
| !size {return the size}
);
getFileSize$"valid.bra"
113622
getFileSize$"c:\\boot.ini"
211

View file

@ -0,0 +1,16 @@
#include <iostream>
#include <fstream>
std::ios::off_type getFileSize(const char *filename) {
std::ifstream f(filename);
std::ios::pos_type begin = f.tellg();
f.seekg(0, std::ios::end);
std::ios::pos_type end = f.tellg();
return end - begin;
}
int main() {
std::cout << getFileSize("input.txt") << std::endl;
std::cout << getFileSize("/input.txt") << std::endl;
return 0;
}

View file

@ -0,0 +1,8 @@
#include <iostream>
#include <fstream>
int main()
{
std::cout << std::ifstream("input.txt", std::ios::binary | std::ios::ate).tellg() << "\n"
<< std::ifstream("/input.txt", std::ios::binary | std::ios::ate).tellg() << "\n";
}

View file

@ -0,0 +1,16 @@
#include <filesystem>
#include <iostream>
void print_file_size(const char* filename) {
try {
auto size = std::filesystem::file_size(filename);
std::cout << "Size of file " << filename << " is " << size << " bytes.\n";
} catch (const std::exception& ex) {
std::cerr << ex.what() << '\n';
}
}
int main() {
print_file_size("input.txt");
print_file_size("/input.txt");
}

View file

@ -0,0 +1,11 @@
using System;
using System.IO;
class Program
{
static void Main(string[] args)
{
Console.WriteLine(new FileInfo("/input.txt").Length);
Console.WriteLine(new FileInfo("input.txt").Length);
}
}

View file

@ -0,0 +1,19 @@
#include <stdlib.h>
#include <stdio.h>
long getFileSize(const char *filename)
{
long result;
FILE *fh = fopen(filename, "rb");
fseek(fh, 0, SEEK_END);
result = ftell(fh);
fclose(fh);
return result;
}
int main(void)
{
printf("%ld\n", getFileSize("input.txt"));
printf("%ld\n", getFileSize("/input.txt"));
return 0;
}

View file

@ -0,0 +1,13 @@
#include <stdlib.h>
#include <stdio.h>
#include <sys/stat.h>
int main(void)
{
struct stat foo;
stat("input.txt", &foo);
printf("%ld\n", foo.st_size);
stat("/input.txt", &foo);
printf("%ld\n", foo.st_size);
return 0;
}

View file

@ -0,0 +1,42 @@
identification division.
program-id. FileInfo.
data division.
working-storage section.
01 file-name pic x(256).
01 file-size-edited pic zzz,zzz,zzz.
01 file-details.
05 file-size pic x(8) comp-x.
05 file-date.
10 file-day pic x comp-x.
10 file-month pic x comp-x.
10 file-year pic xx comp-x.
05 file-time.
10 file-hour pic x comp-x.
10 file-minute pic x comp-x.
10 file-second pic x comp-x.
10 file-hundredths pic x comp-x.
procedure division.
main.
move "input.txt" to file-name
perform file-info
move "\input.txt" to file-name
perform file-info
stop run
.
file-info.
call "CBL_CHECK_FILE_EXIST"
using file-name, file-details
returning return-code
if return-code = 0
move file-size to file-size-edited
display function trim(file-name) " "
function trim(file-size-edited) " Bytes"
else
display function trim(file-name) " not found!"
end-if
.

View file

@ -0,0 +1,12 @@
import StdEnv
fileSize fileName world
# (ok, file, world) = fopen fileName FReadData world
| not ok = abort "Cannot open file"
# (ok, file) = fseek file 0 FSeekEnd
| not ok = abort "Cannot seek file"
# (size, file) = fposition file
(_, world) = fclose file world
= (size, world)
Start world = fileSize "input.txt" world

View file

@ -0,0 +1,6 @@
(require '[clojure.java.io :as io])
(defn show-size [filename]
(println filename "size:" (.length (io/file filename))))
(show-size "input.txt")
(show-size "/input.txt")

View file

@ -0,0 +1,9 @@
<cfscript>
localFile = getFileInfo(expandpath("input.txt"));
rootFile = getFileInfo("/input.txt");
</cfscript>
<cfoutput>
Size of input.txt is #localFile.size# bytes.
Size of /input.txt is #rootFile.size# bytes.
</cfoutput>

View file

@ -0,0 +1,9 @@
(with-open-file (stream (make-pathname :name "input.txt")
:direction :input
:if-does-not-exist nil)
(print (if stream (file-length stream) 0)))
(with-open-file (stream (make-pathname :directory '(:absolute "") :name "input.txt")
:direction :input
:if-does-not-exist nil)
(print (if stream (file-length stream) 0)))

View file

@ -0,0 +1,22 @@
import std.file, std.stdio, std.path, std.file, std.stream,
std.mmfile;
void main() {
immutable fileName = "file_size.exe";
try {
writefln("File '%s' has size:", fileName);
writefln("%10d bytes by std.file.getSize (function)",
std.file.getSize(fileName));
writefln("%10d bytes by std.stream (class)",
new std.stream.File(fileName).size);
// mmfile can treat the file as an array in memory.
writefln("%10d bytes by std.mmfile (class)",
new std.mmfile.MmFile(fileName).length);
} catch (Exception e) {
e.msg.writefln;
}
}

View file

@ -0,0 +1,21 @@
program SizeOfFile;
{$APPTYPE CONSOLE}
uses SysUtils;
function CheckFileSize(const aFilename: string): Integer;
var
lFile: file of Byte;
begin
AssignFile(lFile, aFilename);
FileMode := 0; {Access file in read only mode}
Reset(lFile);
Result := FileSize(lFile);
CloseFile(lFile);
end;
begin
Writeln('input.txt ', CheckFileSize('input.txt'));
Writeln('\input.txt ', CheckFileSize('\input.txt'));
end.

View file

@ -0,0 +1,3 @@
for file in [<file:input.txt>, <file:///input.txt>] {
println(`The size of $file is ${file.length()} bytes.`)
}

View file

@ -0,0 +1,21 @@
class
APPLICATION
create
make
feature {NONE} -- Initialization
make
-- Run application.
do
create input_file.make_open_read ("input.txt")
print(input_file.count)
print("%N")
input_file.close
create environment
input_file.make_open_read(environment.root_directory_name + "input.txt")
print(input_file.count)
input_file.close
end
feature -- Access
input_file: PLAIN_TEXT_FILE
environment:EXECUTION_ENVIRONMENT
end

View file

@ -0,0 +1,9 @@
import system'io;
import extensions;
public program()
{
console.printLine(File.assign("input.txt").Length);
console.printLine(File.assign("\input.txt").Length)
}

View file

@ -0,0 +1,2 @@
IO.puts File.stat!("input.txt").size
IO.puts File.stat!("/input.txt").size

View file

@ -0,0 +1,3 @@
(message "sizes are %s and %s"
(nth 7 (file-attributes "input.txt"))
(nth 7 (file-attributes "/input.txt")))

View file

@ -0,0 +1,16 @@
-module(file_size).
-export([file_size/0]).
-include_lib("kernel/include/file.hrl").
file_size() ->
print_file_size("input.txt"),
print_file_size("/input.txt").
print_file_size(Filename) ->
case file:read_file_info(Filename) of
{ok, FileInfo} ->
io:format("~s ~p~n", [Filename, FileInfo#file_info.size]);
{error, _} ->
io:format("~s could not be opened~n",[Filename])
end.

View file

@ -0,0 +1,24 @@
include file.e
function file_size(sequence file_name)
object x
x = dir(file_name)
if sequence(x) and length(x) = 1 then
return x[1][D_SIZE]
else
return -1 -- the file does not exist
end if
end function
procedure test(sequence file_name)
integer size
size = file_size(file_name)
if size < 0 then
printf(1,"%s file does not exist.\n",{file_name})
else
printf(1,"%s size is %d.\n",{file_name,size})
end if
end procedure
test("input.txt") -- in the current working directory
test("/input.txt") -- in the file system root

View file

@ -0,0 +1,8 @@
open NUnit.Framework
open FsUnit
[<Test>]
let ``Validate that the size of the two files is the same`` () =
let local = System.IO.FileInfo(__SOURCE_DIRECTORY__ + "\input.txt")
let root = System.IO.FileInfo(System.IO.Directory.GetDirectoryRoot(__SOURCE_DIRECTORY__) + "input.txt")
local.Length = root.Length |> should be True

View file

@ -0,0 +1,5 @@
#APPTYPE CONSOLE
print FileLen("sync.log")
print FileLen("\sync.log")
PAUSE

View file

@ -0,0 +1,4 @@
"input.txt" file-info size>> .
1321
"file-does-not-exist.txt" file-info size>>
"Unix system call ``stat'' failed:"...

View file

@ -0,0 +1,7 @@
: .filesize ( addr len -- ) 2dup type ." is "
r/o open-file throw
dup file-size throw <# #s #> type ." bytes long." cr
close-file throw ;
s" input.txt" .filesize
s" /input.txt" .filesize

View file

@ -0,0 +1,9 @@
use :: iso_fortran_env, only : FILE_STORAGE_SIZE
implicit none
character(len=*),parameter :: filename(*)=[character(len=256) :: 'input.txt', '/input.txt']
integer :: file_size, i
do i=1,size(filename)
INQUIRE(FILE=filename(i), SIZE=file_size) ! return -1 if cannot determine file size
write(*,*)'size of file '//trim(filename(i))//' is ',file_size * FILE_STORAGE_SIZE /8,' bytes'
enddo
end

View file

@ -0,0 +1,12 @@
20 READ (INF,21, END = 30) L !R E A D A R E C O R D - but only its length.
21 FORMAT(Q) !This obviously indicates the record's length.
NRECS = NRECS + 1 !CALL LONGCOUNT(NRECS,1) !C O U N T A R E C O R D.
NNBYTES = NNBYTES + L !CALL LONGCOUNT(NNBYTES,L) !Not counting any CRLF (or whatever) gibberish.
IF (L.LT.RMIN) THEN !Righto, now for the record lengths.
RMIN = L !This one is shorter.
RMINR = NRECS !Where it's at.
ELSE IF (L.GT.RMAX) THEN !Perhaps instead it is longer?
RMAX = L !Longer.
RMAXR = NRECS !Where it's at.
END IF !So much for the lengths.
GO TO 20 !All I wanted to know...

View file

@ -0,0 +1,6 @@
' FB 1.05.0 Win64
#include "file.bi"
Print FileLen("input.txt"), FileLen(Environ("SystemRoot") + "\input.txt")
Sleep

View file

@ -0,0 +1,2 @@
println[newJava["java.io.File", "input.txt"].length[]]
println[newJava["java.io.File", "/input.txt"].length[]]

View file

@ -0,0 +1,8 @@
Public Sub Main()
Dim stInfo As Stat = Stat(User.home &/ "input.txt")
Dim stInfo1 As Stat = Stat("/input.txt")
Print User.Home &/ "input.txt = " & stInfo.Size & " bytes"
Print "/input.txt = " & stInfo1.Size & " bytes"
End

View file

@ -0,0 +1,17 @@
package main
import "fmt"
import "os"
func printFileSize(f string) {
if stat, err := os.Stat(f); err != nil {
fmt.Println(err)
} else {
fmt.Println(stat.Size())
}
}
func main() {
printFileSize("input.txt")
printFileSize("/input.txt")
}

View file

@ -0,0 +1,2 @@
println new File('index.txt').length();
println new File('/index.txt').length();

View file

@ -0,0 +1,5 @@
import System.IO
printFileSize filename = withFile filename ReadMode hFileSize >>= print
main = mapM_ printFileSize ["input.txt", "/input.txt"]

View file

@ -0,0 +1,6 @@
import System.Posix.File
printFileSize filename = do stat <- getFileStatus filename
print (fileSize stat)
main = mapM_ printFileSize ["input.txt", "/input.txt"]

View file

@ -0,0 +1,2 @@
READ(FILE="input.txt", LENgth=bytes) ! bytes = -1 if not existent
READ(FILE="C:\input.txt", LENgth=bytes) ! bytes = -1 if not existent

View file

@ -0,0 +1,3 @@
every dir := !["./","/"] do {
write("Size of ",f := dir || "input.txt"," = ",stat(f).size) |stop("failure for to stat ",f)
}

View file

@ -0,0 +1,2 @@
require 'files'
fsize 'input.txt';'/input.txt'

View file

@ -0,0 +1,19 @@
fn file_size(filename: String) throws -> i64 {
mut result = 0
mut file = File::open_for_reading(filename)
mut buffer = [0u8; 1024] // Size of buffer is arbitrary
while true {
let read_bytes = file.read(buffer)
if read_bytes == 0 {
break
}
result += read_bytes as! i64
}
return result
}
fn main() {
println("{}", file_size(filename: "input.txt"))
println("{}", file_size(filename: "/input.txt"))
}

View file

@ -0,0 +1 @@
import java.io.File;

View file

@ -0,0 +1,6 @@
public static void main(String[] args) {
File fileA = new File("file.txt");
System.out.printf("%,d B%n", fileA.length());
File fileB = new File("/file.txt");
System.out.printf("%,d B%n", fileB.length());
}

View file

@ -0,0 +1,3 @@
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.GetFile('input.txt').Size;
fso.GetFile('c:/input.txt').Size;

View file

@ -0,0 +1,14 @@
var file = document.getElementById("fileInput").files.item(0); //a file input element
if (file) {
var reader = new FileReader();
reader.readAsText(file, "UTF-8");
reader.onload = loadedFile;
reader.onerror = errorHandler;
}
function loadedFile(event) {
var fileString = event.target.result;
alert(fileString.length);
}
function errorHandler(event) {
alert(event);
}

View file

@ -0,0 +1,4 @@
DEFINE filesize == "r" fopen 0 2 fseek pop ftell swap fclose.
"input.txt" filesize.
"/input.txt" filesize.

View file

@ -0,0 +1,3 @@
jq -Rs length input.txt
jq -Rs length /input.txt

View file

@ -0,0 +1,2 @@
println(filesize("input.txt"))
println(filesize("/input.txt"))

View file

@ -0,0 +1,2 @@
_size "input.txt"
_size "/input.txt"

View file

@ -0,0 +1,9 @@
// version 1.0.6
import java.io.File
fun main(args: Array<String>) {
val paths = arrayOf("input.txt", "c:\\input.txt")
for (path in paths)
println("Length of $path is ${File(path).length()} bytes")
}

View file

@ -0,0 +1,11 @@
# Load the IO module
# Replace "<pathToIO.lm>" with the location where the io.lm Lang module was installed to without "<" and ">"
ln.loadModule(<pathToIO.lm>)
$file1 = [[io]]::fp.openFile(input.txt)
fn.println([[io]]::fp.getSize($file1))
[[io]]::fp.closeFile($file1) # Remember to close files
$file2 = [[io]]::fp.openFile(/input.txt)
fn.println([[io]]::fp.getSize($file2))
[[io]]::fp.closeFile($file2)

View file

@ -0,0 +1,9 @@
// local to current directory
local(f = file('input.txt'))
handle => { #f->close }
#f->size
// file at file system root
local(f = file('//input.txt'))
handle => { #f->close }
#f->size

View file

@ -0,0 +1,9 @@
'input.txt in current directory
OPEN DefaultDir$ + "/input.txt" FOR input AS #m
PRINT "File size: "; lof(#m)
CLOSE #m
'input.txt in root
OPEN "c:/input.txt" FOR input AS #m
PRINT "File size: "; lof(#m)
CLOSE #m

View file

@ -0,0 +1,13 @@
----------------------------------------
-- Returns file size
-- @param {string} filename
-- @return {integer}
----------------------------------------
on getFileSize (filename)
fp = xtra("fileIO").new()
fp.openFile(filename, 1)
if fp.status() then return 0
len = fp.getLength()
fp.closeFile()
return len
end

View file

@ -0,0 +1,20 @@
// root folder
set the defaultfolder to "/"
repeat for each line fline in (the detailed files)
if item 1 of fline is "input.txt" then
put item 2 of fline --bytes
exit repeat
end if
end repeat
// current working dir of stack
put the effective filename of this stack into tPath
set the itemDelimiter to slash
delete last item of tPath
set the defaultfolder to tPath
repeat for each line fline in (the detailed files)
if item 1 of fline is "input.txt" then
put item 2 of fline
exit repeat
end if
end repeat

View file

@ -0,0 +1,9 @@
function GetFileSize( filename )
local fp = io.open( filename )
if fp == nil then
return nil
end
local filesize = fp:seek( "end" )
fp:close()
return filesize
end

View file

@ -0,0 +1 @@
print filename+" has size ";filelen(filename);" bytes"

View file

@ -0,0 +1,9 @@
Module ShowFileSize(filename as string) {
if exist(filename) then
print filename+" has size "+(filelen(filename))+" bytes"
else
print filename+ " not exist"
end if
}
ShowFileSize "checkthis.txt"
ShowFileSize "c:\ok.txt"

View file

@ -0,0 +1,4 @@
d1 = dir('input.txt');
d2 = dir('/input.txt');
fprintf('Size of input.txt is %d bytes\n', d1.bytes)
fprintf('Size of /input.txt is %d bytes\n', d2.bytes)

View file

@ -0,0 +1,3 @@
-- Returns filesize in bytes or 0 if the file is missing
getFileSize "index.txt"
getFileSize "\index.txt"

View file

@ -0,0 +1,2 @@
echo -ag $file(input.txt).size bytes
echo -ag $file(C:\input.txt).size bytes

View file

@ -0,0 +1 @@
FileTools:-Size( "input.txt" )

View file

@ -0,0 +1 @@
FileTools:-Size( "/input.txt" )

View file

@ -0,0 +1,2 @@
FileByteCount["input.txt"]
FileByteCount[FileNameJoin[{$RootDirectory, "input.txt"}]]

View file

@ -0,0 +1,4 @@
import java.io.File
puts File.new('file-size.mirah').length()
puts File.new("./#{File.separator}file-size.mirah").length()

View file

@ -0,0 +1,16 @@
MODULE FSize EXPORTS Main;
IMPORT IO, Fmt, FS, File, OSError;
VAR fstat: File.Status;
BEGIN
TRY
fstat := FS.Status("input.txt");
IO.Put("Size of input.txt: " & Fmt.LongInt(fstat.size) & "\n");
fstat := FS.Status("/input.txt");
IO.Put("Size of /input.txt: " & Fmt.LongInt(fstat.size) & "\n");
EXCEPT
| OSError.E => IO.Put("ERROR: Could not get file status.\n");
END;
END FSize.

View file

@ -0,0 +1,3 @@
import Nanoquery.IO
println new(File, "input.txt").length()
println new(File, "/input.txt").length()

View file

@ -0,0 +1,34 @@
/* NetRexx */
options replace format comments java symbols binary
runSample(arg)
return
-- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
method fileSize(fn) public static returns double
ff = File(fn)
fSize = ff.length()
return fSize
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
method runSample(arg) private static
parse arg files
if files = '' then files = 'input.txt F docs D /input.txt F /docs D'
loop while files.length > 0
parse files fn ft files
select case(ft.upper())
when 'F' then do
ft = 'File'
end
when 'D' then do
ft = 'Directory'
end
otherwise do
ft = 'File'
end
end
sz = fileSize(fn)
say ft ''''fn'''' sz 'bytes.'
end
return

View file

@ -0,0 +1,2 @@
(println (first (file-info "input.txt")))
(println (first (file-info "/input.txt")))

View file

@ -0,0 +1,3 @@
import os
echo getFileSize "input.txt"
echo getFileSize "/input.txt"

View file

@ -0,0 +1,7 @@
let printFileSize filename =
let ic = open_in filename in
Printf.printf "%d\n" (in_channel_length ic);
close_in ic ;;
printFileSize "input.txt" ;;
printFileSize "/input.txt" ;;

View file

@ -0,0 +1,4 @@
let printLargeFileSize filename =
let ic = open_in filename in
Printf.printf "%Ld\n" (LargeFile.in_channel_length ic);
close_in ic ;;

View file

@ -0,0 +1,4 @@
#load "unix.cma" ;;
open Unix ;;
Printf.printf "%d\n" (stat "input.txt").st_size ;;
Printf.printf "%d\n" (stat "/input.txt").st_size ;;

View file

@ -0,0 +1,4 @@
use IO;
...
File("input.txt")->Size()->PrintLine();
File("c:\input.txt")->Size()->PrintLine();

View file

@ -0,0 +1,7 @@
NSFileManager *fm = [NSFileManager defaultManager];
// Pre-OS X 10.5
NSLog(@"%llu", [[fm fileAttributesAtPath:@"input.txt" traverseLink:YES] fileSize]);
// OS X 10.5+
NSLog(@"%llu", [[fm attributesOfItemAtPath:@"input.txt" error:NULL] fileSize]);

View file

@ -0,0 +1,2 @@
File new("input.txt") size println
File new("/input.txt") size println

View file

@ -0,0 +1,13 @@
Parse Version v
Say v
fid='test.txt'
x=sysfiletree(fid,a.)
Say a.0
Say a.1
Say left(copies('123456789.',10),length(a.1))
Parse Var a.1 20 size .
Say 'file size:' size
s=charin(fid,,1000)
Say length(s)
Say 'file' fid
'type' fid

View file

@ -0,0 +1,5 @@
declare
[Path] = {Module.link ['x-oz://system/os/Path.ozf']}
in
{Show {Path.size "input.txt"}}
{Show {Path.size "/input.txt"}}

View file

@ -0,0 +1,4 @@
<?php
echo filesize('input.txt'), "\n";
echo filesize('/input.txt'), "\n";
?>

View file

@ -0,0 +1,26 @@
/* To obtain file size of files in root as well as from current directory. */
test: proc options (main);
declare ch character (1);
declare i fixed binary (31);
declare in1 file record;
/* Open a file in the root directory. */
open file (in1) title ('//asd.log,type(fixed),recsize(1)');
on endfile (in1) go to next1;
do i = 0 by 1;
read file (in1) into (ch);
end;
next1:
put skip list ('file size in root directory =' || trim(i));
close file (in1);
/* Open a file in the current dorectory. */
open file (in1) title ('/asd.txt,type(fixed),recsize(1)');
on endfile (in1) go to next2;
do i = 0 by 1;
read file (in1) into (ch);
end;
next2:
put skip list ('local file size=' || trim(i));
end test;

View file

@ -0,0 +1,2 @@
my $size1 = -s 'input.txt';
my $size2 = -s '/input.txt';

View file

@ -0,0 +1,3 @@
use File::Spec::Functions qw(catfile rootdir);
my $size1 = -s 'input.txt';
my $size2 = -s catfile rootdir, 'input.txt';

View file

@ -0,0 +1,2 @@
my $size1 = (stat 'input.txt')[7]; # builtin stat() returns an array with file size at index 7
my $size2 = (stat '/input.txt')[7];

View file

@ -0,0 +1,19 @@
-->
<span style="color: #008080;">function</span> <span style="color: #000000;">file_size<span style="color: #0000FF;">(<span style="color: #004080;">sequence</span> <span style="color: #000000;">file_name<span style="color: #0000FF;">)</span>
<span style="color: #004080;">object</span> <span style="color: #000000;">d</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">dir<span style="color: #0000FF;">(<span style="color: #000000;">file_name<span style="color: #0000FF;">)</span>
<span style="color: #008080;">if</span> <span style="color: #004080;">atom<span style="color: #0000FF;">(<span style="color: #000000;">d<span style="color: #0000FF;">)</span> <span style="color: #008080;">or</span> <span style="color: #7060A8;">length<span style="color: #0000FF;">(<span style="color: #000000;">d<span style="color: #0000FF;">)<span style="color: #0000FF;">!=<span style="color: #000000;">1</span> <span style="color: #008080;">then</span> <span style="color: #008080;">return</span> <span style="color: #0000FF;">-<span style="color: #000000;">1</span> <span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
<span style="color: #008080;">return</span> <span style="color: #000000;">d<span style="color: #0000FF;">[<span style="color: #000000;">1<span style="color: #0000FF;">]<span style="color: #0000FF;">[<span style="color: #000000;">D_SIZE<span style="color: #0000FF;">]</span>
<span style="color: #008080;">end</span> <span style="color: #008080;">function</span>
<span style="color: #008080;">procedure</span> <span style="color: #000000;">test<span style="color: #0000FF;">(<span style="color: #004080;">sequence</span> <span style="color: #000000;">file_name<span style="color: #0000FF;">)</span>
<span style="color: #004080;">integer</span> <span style="color: #000000;">size</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">file_size<span style="color: #0000FF;">(<span style="color: #000000;">file_name<span style="color: #0000FF;">)</span>
<span style="color: #008080;">if</span> <span style="color: #000000;">size<span style="color: #0000FF;"><<span style="color: #000000;">0</span> <span style="color: #008080;">then</span>
<span style="color: #7060A8;">printf<span style="color: #0000FF;">(<span style="color: #000000;">1<span style="color: #0000FF;">,<span style="color: #008000;">"%s file does not exist.\n"<span style="color: #0000FF;">,<span style="color: #0000FF;">{<span style="color: #000000;">file_name<span style="color: #0000FF;">}<span style="color: #0000FF;">)</span>
<span style="color: #008080;">else</span>
<span style="color: #7060A8;">printf<span style="color: #0000FF;">(<span style="color: #000000;">1<span style="color: #0000FF;">,<span style="color: #008000;">"%s size is %d.\n"<span style="color: #0000FF;">,<span style="color: #0000FF;">{<span style="color: #000000;">file_name<span style="color: #0000FF;">,<span style="color: #000000;">size<span style="color: #0000FF;">}<span style="color: #0000FF;">)</span>
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
<span style="color: #008080;">end</span> <span style="color: #008080;">procedure</span>
<span style="color: #000000;">test<span style="color: #0000FF;">(<span style="color: #008000;">"input.txt"<span style="color: #0000FF;">)</span> <span style="color: #000080;font-style:italic;">-- in the current working directory</span>
<span style="color: #000000;">test<span style="color: #0000FF;">(<span style="color: #008000;">"/input.txt"<span style="color: #0000FF;">)</span> <span style="color: #000080;font-style:italic;">-- in the file system root
<!--

Some files were not shown because too many files have changed in this diff Show more