草庐IT

stdin_reader

全部标签

go - 从 image.RGBA 实现 io.Reader

我需要一点提示。我正在Go中创建图像的缩略图,并想将它们传递给jpegoptim进行压缩。jpegoptim有--stdin和--stdout标志,我想使用它们。现在,我不想先将生成的图像保存到磁盘,而是将我的*image.RGBA转换为实现io.Reader的东西,这样我就可以将它传递给exec.Cmd.Stdin我对如何实现这一点有些迷茫,如果有人能指出正确的方向,那就太好了。谢谢 最佳答案 在这种情况下,您不需要实现自己的io.Reader。使用io.Pipe和jpeg.Encode,例如funcmain(){//Prepar

os.stdin 上的 golang io.TeeReader 中断 tty

我正在尝试创建一个程序,它通过ssh连接到远程服务器并执行用户给出的命令。我在os.stdin上使用os.TeeReader来记录所有用户输入,但这会破坏tty。varbufferReadbytes.Buffersshstring:=user+"@"+hostcmd:=exec.Command("ssh",sshstring,"-oStrictHostKeyChecking=no")cmd.Stdout=os.Stdoutcmd.Stdin=io.TeeReader(os.Stdin,&bufferRead)cmd.Stderr=os.Stderrcmd.Run()fmt.Printf

go - 在 select 语句中使用 Reader 接口(interface)时的约定

我包装了一个队列来实现Writer和Reader接口(interface)(分别用于推送和弹出)。我需要持续监听队列,并处理通过的每条消息。当队列表示为channel时,这很简单,否则就更难了:loop:for{vardata[]byteselect{case执行此操作的正确方法是什么?Read这里是阻塞的——它一直等到队列有消息。是否有更好、更惯用的方法来实现这一点? 最佳答案 采用同步API(如上面描述的queue.Read)并使其异步比相反的操作更难。我们的想法是创建一个新的goroutine(例如使用gofunc(){...

go - 如何使用 Go 从 stdin 指定的目录中读取文件名

我想读取给定目录中的所有文件,我试过这个:packagemainimport("bufio""fmt""io/ioutil""os""strings")funcmain(){fmt.Print("directory:")inBuf:=bufio.NewReader(os.Stdin)inDir,_:=inBuf.ReadString('\n')strings.Replace(inDir,"\\","/",-1)files,_:=ioutil.ReadDir(inDir)fmt.Println(files)}这将始终返回带有或不带有“strings.Replace”行的“[]”。谁能指出

go - [Golang]为什么bufio reader改成了strings reader?

代码如下==s:=strings.NewReader("ABCDEFGJHIJK")fmt.Printf("pais%d\n",s.GetValueI())//GetValueI()returnsthevalueofr.ibr:=bufio.NewReader(s)fmt.Printf("papais%d\n",s.GetValueI())cc,_:=br.ReadByte()fmt.Printf("%c\n",cc)fmt.Printf("papapais%d\n",s.GetValueI())打印显示:帕是0爸爸是0一种爸爸12岁如此奇怪的结果..为什么bufio调用ReadByt

来自 bytes.Reader 的 Golang un-gzip

我有一个文件结构,它包含一个主体,它只是一个*bytes.Reader我在结构上有两个方法Zip()error和UnZip()错误。当我调用Zip时,它应该压缩将压缩数据存储在正文中的文件,我应该能够在同一文件上调用UnZip并将解压缩数据存储在正文中。我的最小例子是在Playground上。https://play.golang.org/p/WmZtqtvnyN我能够很好地压缩文件,看起来它正在做它应该做的事情;但是,当我尝试解压缩文件时,我得到了unexpectedEOF我已经研究了好几个小时了。非常感谢任何帮助。 最佳答案 我

Golang stdin 读错了德语变音符号

我来自德国,所以我使用变音符号,例如ä、ö和ü。然而,Golang无法从标准输入中正确读取它们。当我执行这个简单的程序时:packagemainimport("bufio""fmt""os")funcmain(){for{b,_,_:=bufio.NewReader(os.Stdin).ReadLine()printBytes(b)}}funcprintBytes(bytes[]byte){for_,b:=rangebytes{fmt.Printf("0x%X",b)}fmt.Println()}我得到输出:C:\dev\golang>goruntest.goä0xE20x800x9E

go - Golang stdin 循环上的 CPU 使用率过高

我有一个golang应用程序,它需要监听stdin上的输入——不是作为命令行实用程序,而是保持运行和监听。以下代码经过稍微编辑后可以运行,但在“空闲”时具有非常高的CPU负载-我不确定为什么-也不清楚如何才能做得更好。所以我需要没有CPU负载的相同功能!(这是ejabberd的身份验证处理程序的一部分)bioIn:=bufio.NewReader(os.Stdin)bioOut:=bufio.NewWriter(os.Stdout)varerrerrorvarsuccessboolvarlengthuint16varresultuint16for{binary.Read(bioIn,b

ruby - Nokogiri::XML::Reader - 处理大型 XML 文件并跳过不感兴趣的节点

我有一些格式如下所示的xml,我正在尝试使用Nokogiri::XML::Reader进行解析,因为文件大小非常大(~1GB)。该文件有很多packets以下格式。来自每个packet我需要收集frame.time_epoch,s1ap.procedureCode.我目前正在做以下事情。data=[]file=`some_file.xml`reader=Nokogiri::XML::Reader(File.open(file))reader.eachdo|node|if(node.name=='packet'&&node.node_type==Nokogiri::XML::Reader

javascript - 如何转义冒号(:) in XML for XML Reader in extjs 4

我无法加载属性名称中有冒号的xml,我使用的是extjs-4.2.1我的示例xml上述xml的模型Ext.define('TR.model.TreeControlModel',{extend:'Ext.data.Model',fields:[{name:'about',mapping:'@about'},{name:'type',mapping:'li>Description@ac:type'},{name:"name",mapping:'li>Description@ac:name'}]});我尝试将:替换为|(管道)但它对我不起作用。需要帮助。 最佳答案