Gambas文档
编译和安装
错误消息
代码片段
翻译
废弃的组件
教程
开发环境文档
开发文档
名词解释
如何操作
说明
维基手册
维基搜索
维基许可协议
文档
应用程序仓库
语言概览
语言索引
主题
组件
gb
.Array.Bounds
.Stat.Perm
Application
Args
Array
Boolean[]
Byte[]
Class
Classes
Collection
Component
Components
Date[]
Enum
Env
Error
File
BaseName
DefaultDirAuth
Dir
Err
Ext
In
Load
Name
Out
Read
Save
SetBaseName
SetDir
SetExt
SetName
Write
Float[]
gb
Integer[]
Jit
Long[]
Object
Object[]
Observer
Param
Pointer[]
Process
Short[]
Single[]
Stat
Stream
String
String[]
System
Task
Timer
User
Variant[]
gb.args
gb.cairo
gb.chart
gb.clipper
gb.complex
gb.compress
gb.crypt
gb.data
gb.db
gb.db.form
gb.db.mysql
gb.db.odbc
gb.db.postgresql
gb.db.sqlite2
gb.db.sqlite3
gb.dbus
gb.dbus.trayicon
gb.debug
gb.desktop
gb.desktop.x11
gb.eval
gb.eval.highlight
gb.form
gb.form.dialog
gb.form.editor
gb.form.htmlview
gb.form.mdi
gb.form.print
gb.form.terminal
gb.gmp
gb.gsl
gb.gtk
gb.gtk3
gb.gtk3.opengl
gb.gtk3.webview
gb.gui
gb.gui.qt
gb.gui.qt.ext
gb.gui.trayicon
gb.gui.webview
gb.hash
gb.highlight
gb.image
gb.image.effect
gb.image.io
gb.inotify
gb.logging
gb.map
gb.media
gb.media.form
gb.mime
gb.mysql
gb.ncurses
gb.net
gb.net.curl
gb.net.pop3
gb.net.smtp
gb.opengl
gb.opengl.glsl
gb.opengl.glu
gb.opengl.sge
gb.openssl
gb.option
gb.pcre
gb.pdf
gb.poppler
gb.qt4
gb.qt4.ext
gb.qt4.opengl
gb.qt4.webkit
gb.qt4.webview
gb.qt5
gb.qt5.ext
gb.qt5.opengl
gb.qt5.webview
gb.qt6
gb.qt6.ext
gb.qt6.opengl
gb.qt6.webview
gb.report
gb.report2
gb.sdl
gb.sdl2
gb.sdl2.audio
gb.settings
gb.signal
gb.term
gb.test
gb.util
gb.util.web
gb.v4l
gb.vb
gb.web
gb.web.feed
gb.web.form
gb.web.gui
gb.xml
gb.xml.html
gb.xml.rpc
gb.xml.xslt
最近的修改

File.In (gb)

Static Property Read In As File

返回标准的输入流。

该示例演示如何读写标准输入、输出和错误。它演示File.In、File.OutFile.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 -| ./pipe.gambas
将看到来自=ls -a=命令的每一行回显两次。一次来自于标准输出流,一次来自于标准错误输出流。这次这个应用程序将会见到标准输入流的结束,所以它能够正确结束。现在尝试:
ls -| ./pipe.gambas > files.txt
这里,我们重定向标准输出流到一个文件而且在终端窗口中会看到标准错误流的输出。现在在目录里应该有一个文件存储的是=ls -a=命令的输出。