首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ByteChannel不上传文本文件

ByteChannel不上传文本文件
EN

Stack Overflow用户
提问于 2013-07-29 18:53:02
回答 1查看 161关注 0票数 2

我的程序必须上传用户选择的文本文件。我写了这个函数:

代码语言:javascript
复制
void UploadToDatabase() throws MalformedURLException, IOException {
          URL website = new URL("http://mk7vrlist.altervista.org/databases/test.txt");

          WritableByteChannel rbc = (WritableByteChannel) Channels.newChannel(website.openStream());
          FileOutputStream fos = new FileOutputStream("C:/recfile.txt");

          fos.getChannel().transferTo(0, Long.MAX_VALUE, rbc);
     }

我有一个错误,因为IDE告诉我不能将"java.nio.channels.Channels$ReadableByteChannelImpl转换为java.nio.channels.WritableByteChannel“。

我怎么才能解决这个问题?我以这样的方式调用这个函数:(NetBeans也向我推荐了它)

代码语言:javascript
复制
try {
            UploadToDatabase();
        } catch (MalformedURLException ex) {
            Logger.getLogger(xGrep.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(xGrep.class.getName()).log(Level.SEVERE, null, ex);
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-29 19:08:56

我相信你是在找这个。

代码语言:javascript
复制
URL website = new URL("http://mk7vrlist.altervista.org/databases/test.txt");

WritableByteChannel rbc = Channels.newChannel(website.openConnection().getOutputStream());

FileOutputStream fos;
fos = new FileOutputStream("C:/recfile.txt");

fos.getChannel().transferTo(0, Long.MAX_VALUE, rbc);

fos.close();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17931931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档