【发布时间】:2026-01-24 19:25:01
【问题描述】:
我的 java 代码不会传输我的 25mb 文件 - 它将停止在 16mb。我尝试将 transferFrom 1 << 24 更改为 48 & 31 & 8 没有任何帮助,只是让情况变得更糟。任何想法?
ReadableByteChannel rbc = Channels.newChannel(fileURL.openStream());
FileOutputStream fos = new FileOutputStream(path + fileName);
fos.getChannel().transferFrom(rbc, 0, 1 << 24);
fos.close();
【问题讨论】:
-
48 & 31 & 8背后的逻辑是什么? -
@NPE 我在 google 上看到有人说 31 = 高达 1 GB 而 48 是两倍,但它们没有用
-
@user1888440 我之前也研究过它,但它并没有真正帮助我我不明白它有没有帮助?
-
按设计工作。请参阅 Javadoc。