linux: shared memory interface - link with librt
[supercollider.git] / HelpSource / Classes / FileReader.schelp
blob73cac58ddff0ddf2157eb6aa1505924f955e8ba0
1 class:: FileReader
2 summary:: file reader for space-delimited text files
3 related:: Classes/File
4 categories:: Files
6 description::
7 FileReader reads space-delimited text files into 2D arrays line by line.
9 For tab delimited files use link::Classes/TabFileReader::. For semi-colon-delimited files use link::Classes/SemiColonFileReader::. For comma-separated files use link::Classes/CSVFileReader::.
11 Examples::
13 code::
15 // write a test file:
16 f = File("FileReaderTest.sc", "w");
17 f.write(
18 "Some space delimited items in line 1
20 and then some more with several blanks     in line 3
23 f.close;
27         // open file, read and put strings into array, close file.
28 x = FileReader.read("FileReaderTest.sc").postcs;
30         // can skip empty lines:
31 x = FileReader.read("FileReaderTest.sc", true).postcs;
33         // can skip blank entries caused by multiple spaces:
34 x = FileReader.read("FileReaderTest.sc", true, true).postcs;
36         // do file open/close by hand if you prefer:
37 f = File("FileReaderTest.sc", "r"); f.isOpen;
38 t = FileReader(f, true, true);
39 t.read;
40 f.close;
42         // take letter "a" as delimiter:
43 x = FileReader.read("FileReaderTest.sc", true, true, delimiter: $a).postcs;
46 // write a test file with numbers:
47 f = File("FileReadTestNum.sc", "w");
49 (1..10).do { |n| f.write(n.asString ++ " "); };
50 f.close;
53 x = FileReader.read("FileReadTestNum.sc").postcs;
54 x.collect(_.collect(_.interpret));      // convert to numbers.
56         // or do it immediately:
57 x = FileReader.readInterpret("FileReadTestNum.sc").postcs;
60 // write a test file with several lines of numbers:
61 f = File("FileReadTestNum.sc", "w");
63 (1..100).do { |n|
64         f.write(n.asString ++ if (n % 10 != 0, " ", Char.nl)); };
65 f.close;
69 x = FileReader.readInterpret("FileReadTestNum.sc", true, true).postln;