Questions tagged «stream»

不要使用JAVA STREAM API(对这些问题使用[java-stream]!)流是可以以串行方式访问的一系列数据元素。

11
在Swift中逐行读取文件/ URL
我正在尝试读取中给定的文件NSURL并将其加载到数组中,其中各项之间用换行符分隔\n。 到目前为止,这是我做的方法: var possList: NSString? = NSString.stringWithContentsOfURL(filePath.URL) as? NSString if var list = possList { list = list.componentsSeparatedByString("\n") as NSString[] return list } else { //return empty list } 我对此不太满意,原因有两个。第一,我正在处理的文件大小从几千字节到几百MB不等。可以想象,使用如此大的字符串是缓慢且笨拙的。其次,这会在执行时冻结UI,这同样是不好的。 我已经考虑过在单独的线程中运行此代码,但是我一直在遇到麻烦,此外,它仍然不能解决处理巨大字符串的问题。 我想做的事情与以下伪代码类似: var aStreamReader = new StreamReader(from_file_or_url) while aStreamReader.hasNextLine == true { currentline = aStreamReader.nextLine() list.addItem(currentline) } 我将如何在Swift中完成此任务? 关于我正在读取的文件的一些注意事项:所有文件均由短字符串(<255个字符)组成,用\n或分隔\r\n。文件的长度从大约100行到超过5000万行。它们可能包含欧洲字符和/或带有重音符号的字符。
79 macos  file  input  stream  swift 

3
二进制流中的open和io.BytesIO之间的区别
我正在学习有关在Python中使用流的知识,并且我注意到IO文档说以下内容: 创建二进制流的最简单方法是使用open()在模式字符串中使用'b': f = open("myfile.jpg", "rb") 内存中的二进制流也可以作为BytesIO对象使用: f = io.BytesIO(b"some initial binary data: \x00\x01") f由open和f定义之间有什么区别BytesIO。换句话说,什么使“内存中的二进制流”与它有什么不同open?
79 python  io  stream 

8
在Node.js中将缓冲区转换为ReadableStream
我对Buffers和ReadableStreams相当陌生,所以也许这是一个愚蠢的问题。我有一个使用a作为输入的库ReadableStream,但是我的输入只是一个base64格式的图像。我可以这样转换我拥有的数据Buffer: var img = new Buffer(img_string, 'base64'); 但是我不知道如何将其转换为ReadableStream或将Buffer获得的I转换为ReadableStream。 有办法做到这一点,还是我在努力实现不可能? 谢谢。

7
Node.js将同一可读流传输到多个(可写)目标中
我需要连续运行两个命令,这些命令需要从同一流中读取数据。将流传输到另一个流后,缓冲区将被清空,因此我无法再次从该流读取数据,因此无法正常工作: var spawn = require('child_process').spawn; var fs = require('fs'); var request = require('request'); var inputStream = request('http://placehold.it/640x360'); var identify = spawn('identify',['-']); inputStream.pipe(identify.stdin); var chunks = []; identify.stdout.on('data',function(chunk) { chunks.push(chunk); }); identify.stdout.on('end',function() { var size = getSize(Buffer.concat(chunks)); //width var convert = spawn('convert',['-','-scale',size * 0.5,'png:-']); inputStream.pipe(convert.stdin); convert.stdout.pipe(fs.createWriteStream('half.png')); }); function getSize(buffer){ return parseInt(buffer.toString().split(' …

7
如何将整个流读入std :: string?
我正在尝试将整个流(多行)读入字符串。 我正在使用此代码,并且可以工作,但是却冒犯了我的风格感……当然,有一种更简单的方法吗?也许使用stringstreams? void Obj::loadFromStream(std::istream & stream) { std::string s; std::streampos p = stream.tellg(); // remember where we are stream.seekg(0, std::ios_base::end); // go to the end std::streamoff sz = stream.tellg() - p; // work out the size stream.seekg(p); // restore the position s.resize(sz); // resize the string stream.read(&s[0], sz); // and …
76 c++  string  stream 


5
是否可以在没有内容长度标题的情况下将文件上传到S3?
我正在使用内存有限的计算机上工作,我想以流方式将动态生成的(非磁盘)文件上传到S3。换句话说,开始上传时我不知道文件大小,但最后我会知道。通常,PUT请求具有Content-Length标头,但也许可以解决此问题,例如使用多部分或分块的内容类型。 S3可以支持流式上传。例如,在这里: http://blog.odonnell.nu/posts/streaming-uploads-s3-python-and-poster/ 我的问题是,在上传开始时无需指定文件长度即可完成相同的事情吗?
70 http  rest  soap  stream  amazon-s3 

5
流是什么意思?有什么特点?
C ++和C#都使用这个词stream来命名许多类。 C ++:iostream,istream,ostream,stringstream,ostream_iterator,istream_iterator... C# :, Stream,,FileStream ...MemoryStreamBufferedStream 所以我很想知道,这stream是什么意思?一个的特点是stream什么?我什么时候可以用这个术语来命名我的班级?这仅限于文件I / O类吗? 有趣的是,据我所知,C在任何地方都不会使用该词。
70 c#  c++  class  stream  terminology 

4
Java中的内存流
我正在寻找Java中的内存流实现。该实现应在.NET内存流实现之后大致建模。 基本上,我想拥有一个MemoryStream必须使用工厂方法的类: class MemoryStream { MemoryInput createInput(); MemoryOutput createOutput(); } class MemoryInput extends InputStream { long position(); void seek(long pos); } class MemoryOutput extends OutputStream { long position(); void seek(long pos); } 因此,一旦有了该类的实例,MemoryStream我就应该能够并发地同时创建输入和输出流,这也应该允许在任何方向上定位。内存流不必是循环的,它应该可以很好地用于小尺寸并自动增长。内存流仅需要限制在一个进程中。 有没有可用的现成代码?
69 java  memory  stream  seek 


2
为什么`std :: basic_ios`具有公共构造函数?
std::basic_ios有一个公共的构造函数: explicit basic_ios (std::basic_streambuf<CharT,Traits>* sb); IMO,一个类具有公共构造函数的唯一原因是在程序中使用该类的独立实例。如果仅存在一个类以使其他类从其派生(如的情况basic_ios),则该类的所有构造函数都应为protected。的构造函数std::ios_base均受保护。但是,由于某种原因,该标准的设计者将这一构造函数basic_ios公开了。 basic_ios用作几种流类型的基类,并且我不能设想用例中至少有一个不是a basic_istream或的用例basic_ostream。有一个吗?

2
将Akka流传递到上游服务以进行填充
我需要调用上游服务(Azure Blob服务)以将数据推送到OutputStream,然后需要通过akka转过来并将其推送回客户端。没有akka(只有servlet代码),我只需要获取ServletOutputStream并将其传递给azure服务的方法即可。 我可以尝试碰到的最接近的东西,显然这是错误的,是这样的 Source<ByteString, OutputStream> source = StreamConverters.asOutputStream().mapMaterializedValue(os -> { blobClient.download(os); return os; }); ResponseEntity resposeEntity = HttpEntities.create(ContentTypes.APPLICATION_OCTET_STREAM, preAuthData.getFileSize(), source); sender().tell(new RequestResult(resposeEntity, StatusCodes.OK), self()); 我的想法是,我正在调用上游服务,以通过调用blobClient.download(os)获得填充的输出流; 似乎lambda函数被调用并返回,但是随后它失败了,因为没有数据或其他东西。好像我不应该让那个lambda函数来完成这项工作,但是也许返回一些可以完成这项工作的对象?不确定。 如何做到这一点?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.