草庐IT

inputstream

全部标签

android - 使用 mp4parser ,如何处理从 Uri 和 ContentResolver 获取的视频?

背景我们想让用户从任何应用程序中选择一个视频,然后将视频剪辑到最长5秒。问题为了选择一个Uri,我们让它工作正常(解决方案可用here)。至于修剪本身,除了一个名为"k4l-video-trimmer"的库之外,我们找不到任何具有许可的好库。.例如,库“FFmpeg”被视为未经许可,因为它使用GPLv3,这要求使用它的应用程序也是开源的。此外,正如我所读,它需要相当多的空间(大约9MB)。可悲的是,这个库(k4l-video-trimmer)非常旧并且多年没有更新,所以我不得不fork它(here)以便很好地处理它。它使用一个名为"mp4parser"的开源库进行修剪。问题是,这个库似

检查Java Inputstream是否来自插座

我有一个类,将输入流作为读取数据的参数。publicFoo{privateDataInputin;publicFoo(InputStreamism){in=newDataInputStream(ism);}publicbytereadByte()throwsIOException{returnin.readByte();}}有时,此输入流可能来自插座,例如ism=newBufferedInputStream(sock.getInputStream());foo=newFoo(ism);我的问题是,是否可以从FOO内检查输入流来自插座,即它是网络I/O而不是本地I/O?自从socket.getI

android - 在 Android 上通过蓝牙从 InputStream 读取数据时出错

我正在开发一个Android应用程序,它使用蓝牙连接在我的android智能手机和非android蓝牙模块之间传输数据,使用SPP配置文件。我使用了来自Android开发者网站的蓝牙聊天示例作为引用。我已经成功地让两台设备相互连接,并从智能手机向蓝牙模块发送了简单的字符串。但是我在读取从模块发回的数据时遇到了一些错误。我使用了以下代码(与蓝牙聊天示例中的代码完全相同)从InputStream读取数据while(true){try{//ReadfromtheInputStreambytes=mmInStream.read(buffer);Stringstr=newString(buffe

c++ - 输入流上的基于范围的循环

要遍历输入流,我们通常会使用std::istream_iterator像这样:typedefstd::istream_iteratorinput_iterator;std::ifstreamfile("myfile");for(input_iteratori(file);i!=input_iterator();i++){//Here,*idenoteseachelementextractedfromthefile}如果我们可以使用基于范围的for就好了迭代输入流的语句。但是,对于类类型的对象,基于范围的for要求对象具有begin()和end()成员函数(§6.5.4,添加了粗体强调)

c++ - cin.clear() 不重置 cin 对象

我有以下循环。它应该读取数字直到EndOfFile,或者用户输入-999intarr[100];intindex;for(index=0;index>arr[index];if(!cin){cin.clear();index--;continue;}if(arr[index]==-999){break;}}当用户输入一个无效的东西时,比如一些char,这个循环会一直重复,而不清除错误状态或停止。 最佳答案 调用clear后,您还必须以某种方式从流中删除无效输入。这是一种方法:cin>>arr[index];if(!cin){cin.

java的InputStream获取字节大小相关方法

java的InputStream获取字节大小相关方法1通过StreamUtils工具类的copyToByteArray()方法获取(推荐)正常大部分项目都是使用的Spring,而Spring已经帮我们开发好了相应的工具类,我们直接调用即可。InputStreamis=this.getClass().getResourceAsStream(filePath);byte[]bytes=StreamUtils.copyToByteArray(is);is.read(bytes);2通过available()方法获取(不推荐)InputStreamis=this.getClass().getResou

mongodb - 如何在保存到 gridfs 之前计算文件的 MD5

我正在为gridfs使用javaMongoDB驱动程序,并希望在保存文件之前使用MD5哈希检查文件是否已经存在。本质上我正在尝试做this在Java中。我使用以下逻辑尝试了apachecommon-codec中的DigestUtils:publicGridFSDBFilesave(InputStreaminputStream,StringcontentType,Stringfilename)throwsIOException{Stringmd5=DigestUtils.md5Hex(inputStream);Listmd5match=gridFs.find(newBasicDBObje

java - GridFS 使用 Java 驱动程序仅检索一个文件范围

文档提到可以使用gridFS检索文档的范围。但是我还没有找到有关此的更多详细信息。我想使用java驱动程序为grails应用程序获取一系列文件以支持音频流。在这种情况下,我是否需要手动获取和组装包,还是有更好的方法? 最佳答案 您可以跳过不需要的文件部分,只从那里阅读您需要的部分。GridFSDBFilefile=files.findOne("file");InputStreaminputStream=file.getInputStream();longactuallySkipped=inputStream.skip(numberO

mongodb - 如何使用 Liferay 在 portlet 中下载文件或 InpuStream?

我在UI中有一个按钮,它调用用于下载采用InpuStream类型的file的方法。这是我的代码和beanpublicvoiddownloadFileAttached(finalGridFSDBFilenoteAndFile){try{PortletResponseportletResponse=(PortletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse();HttpServletResponseresponse=PortalUtil.getHttpServletResponse(