我正在尝试从S3读取csv文本文件,然后将其每个行发送到分布式队列以进行处理.

当试图读取它时,我得到“java.net.socketException:Socket is closed”正在读取的文件的不同点的异常(在不同的执行中).这是代码:

AmazonS3 s3 = new AmazonS3Client(new PropertiesCredentials(MyClass.class.getResourceAsstream("myCredentials.properties")));

        String bucketName = "myBucket";
        String key = "myFile";  

        S3Object object = s3.getobject(new GetobjectRequest(bucketName,key));

        InputStream in = object.getobjectContent();

        BufferedReader readerS3 = new BufferedReader(new InputStreamReader(in,Charset.forName(fileInfo.getEncoding())));

        try {
            String line = null;
            while ((line = readerS3.readLine()) != null) {
                // Sending the line to a distributed queue
            }
        } catch (IOException e) {
            e.printstacktrace();
        }finally {
            try {
                in.close();
            } catch (IOException e) {
                e.printstacktrace();
            }
        }

有关如何解决这个问题的任何想法?

更新:

从我第二次运行该方法时发生此异常,如果我停止整个程序并再次运行它,那么我第一次运行该方法就可以了.

解决方法

也许你应该在最后关闭readerS3而不是’in’.即关闭最外面的对象,它可以关闭它的包装儿童.

如果先关闭’in’,那么InputStreamReader和BufferedReader仍然是打开的,如果他们尝试对它们包装的对象做任何事情,它就会被关闭.

读取S3文件时“java.net.SocketException:Socket已关闭”的更多相关文章

  1. ios – 重用UICollectionView中的单元格时,会短暂显示重用的UICollectionViewCell的旧内容

    我正在使用UICollectionView来显示从URL异步加载的图片网格.我的集合视图使用可重用单元格来显示UICollectionViewCells.当不重复使用单元格时,所有内容都会正确显示,但是当我滚动一下时,重用的单元格会在它们开始正常行为之前短暂闪烁旧内容.以下是自定义UICollectionViewController的实现:这是自定义UICollectionViewCell的实现.

  2. 如何使用AWS iOS SDK从设备上传图像并设置为公开

    由于看起来我们只限于桶数,我试图找出如何完成以下操作:>我有一个iOS应用,用户可以上传一个个人资料图片.>个人资料可以被任何人查看(我想要公开).>理想情况下,我可以上传到一个桶(例如:myprofilepics.s3.amazonaws.com)>理想情况下,每个用户都可以上传到自己的子文件夹(例如:myprofilepics.s3.amazonaws.com/images/userXXX/>

  3. AmazonS3Client putObject只适用于iOS主线程?

    我正在尝试使用AmazonS3Client来放置对象.奇怪的是,它只在我在iOS主线程上运行putObject代码时才起作用.代码基本上是这样的:存在桶,我有权限等.如果我只是打电话在我的代码中,整个视频上传方法运行,但我从来没有得到任何状态回调,没有抛出异常,并且对象永远不会放入其存储桶在S3上.当我在主线程上调用上传函数时,如下所示:我获得进度回调,一切正常,对象成功放入S3存储桶.有没有人知道putObject是否仅适用于iOS主线程?

  4. 如何将我的ios应用程序中的图像上传到存储在aws s3上的存储桶中,并在Swift中完成所有这些操作?

    v=WZ54fH8AFUk(不幸的是它在目标C在这里,我会很感激,如果你能帮助我一个迅捷版……解决方法请确保您有一个桥接标头,您可以在其中导入相应的AWS标头.GitHub上有一个名为here的例子.这样做应该使S3方法可用.-Rohan

  5. swift -结构体

  6. OpenStack Swift发展历程

    Swift是一个提供RESTfulHTTP接口的对象存储系统,最初起源于Rackspace的CloudFiles,目的是为了提供一个和AWSS3竞争的服务。Swift于2010年开源,是OpenStack最初的两个项目之一。早在2010年,Swift就迎来了第一个Rackspace之外的商用案例——韩国电信,大家很熟悉的维基百科、ebay等也是Swift的用户。相信随着互联网技术的应用架构逐渐被传统行业接受,对象存储和Swift将受到越来越广泛的关注。总而言之,Swift和S3是当前对象存储里面最重要的两

  7. Android S3布局与Galaxy Nexus布局

    我开发了一个应用程序,应该针对galaxyNexus和galaxyS3.两者都有720x1280屏幕分辨率,我只在我的应用程序中使用’dp’值.资源存在于’layout-xhdpi’和’drawable-xhdpi’文件夹中.Nexus上的布局看起来非常精细,但是S3上的填充值略有偏差.我认为是因为S3的屏幕尺寸更大,密度不同.如何为Nexus和S3创建单独的文件夹,以便我可以考虑不同的屏幕尺寸?

  8. 解决RHAS3中Apache2的PHP上传文件大小的限制

    近日将论坛从VBB2升级到VBB3,将上传附件大小设置为2M,可每次上传超过500K的附件都会出错,而之前使用VBB2时却正常。再回忆一下,发现以前用VBB2时的操作系统为RHAS2.1,用的自带的Apache1.x版本,后来升级成VBB3之前,顺便也把系统更换为RHAS3,而RHAS3自带的Apache为2.x版本,其配置文件的组织方式有所改变,也许自己编译安装的Apache就不会出现此种问题,可自己比较懒,不喜欢编译,呵呵.

  9. php – 如何为Amazon S3存储桶的对象创建下载链接?

    我正在使用S3PHPClass学习AmazonS3.我已将所有文件上传到我的S3存储桶,现在我想为我的存储桶中的每个可用文件创建链接.以下功能对我有用吗?

  10. AWS S3 php api:文件上传后如何获取URL?

    我用过awssdk(https://github.com/aws/aws-sdk-php).码它运作良好,但我有一个问题:>如何在文件上传成功后获取URL.谢谢.它在响应中返回.见APIdocsforputObject.您还可以使用getobjectUrl()方法获取URL.

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部