File.In (gb)
Static Property Read In As File
返回标准的输入流。
该示例演示如何读写标准输入、输出和错误。它演示File.In、
File.Out和
File.Err的用法。标准输入上的每一行先被回显到标准输出,然后在被回显到标准错误输出。
Examples
PUBLIC SUB Main()
DIM inputLine AS String
' 循环直到标准输入文件流结束
WHILE NOT Eof(File.In)
' 从标准输入读取一行。与下面这句作用相同:
' LINE INPUT inputLine
LINE INPUT #File.In, inputLine
' 打印到标准输出。与下面这句作用相同:
' PRINT inputLine
PRINT #File.Out, inputLine
' 打印到标准错误输出。
PRINT #File.Err, inputLine
WEND
END
创建一个命令行应用程序并将上面的代码放入启动模块。如果在Gambas的IDE中运行这个示例,应用程序表现为停在那里。如果在IDE的控制台窗口中键入一些文本,每行将会被回显两次。但是作为应用程序从来不会见到标准输入流结束,所以必须在IDE中停止工程运行。
获取示例思想的更好做法是创建这个工程的可执行文件。假设将这个可执行文件称为=pipe.gambas=。现在打开一个Linux终端并进入到保存可执行文件的目录。如果输入命令:
ls -a | ./pipe.gambas
将看到来自=ls -a=命令的每一行回显两次。一次来自于标准输出流,一次来自于标准错误输出流。这次这个应用程序将会见到标准输入流的结束,所以它能够正确结束。现在尝试:
ls -a | ./pipe.gambas > files.txt
这里,我们重定向标准输出流到一个文件而且在终端窗口中会看到标准错误流的输出。现在在目录里应该有一个文件存储的是=ls -a=命令的输出。