java不在磁盘创建文件,直接返回流给用户下载

来源:百度知道 编辑:UC知道 时间:2024/05/08 15:08:56
以前下载的方式先把文件创建在磁盘上,然后返回个用户下载.
这样的话如果文件太多,太占空间.能不能不创建在磁盘,直接返回一个流给用户下载呢?

没懂你的意思,用户要下载的东西是什么?不是在磁盘上的东西么?还是下载的是程序自己生成的数据?如果是程序自己生成的数据,那就更简单了呀~建议用java.nio来做,先生成把要传的数据写入缓冲区,再将缓冲区的数据写入通道.我还没懂你的提问是什么意思?所以没办法给你写例子,我发一段考贝文件的例子给你
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class CopyFile {
public static void main(String[] args) {
ByteBuffer bb=null;
try {
// FileOutputStream fileOut=new FileOutputStream("f:\\1.txt");
// FileInputStream fileIn=new FileInputStream("f:\\2.txt");
RandomAccessFile raf=new RandomAccessFile("f://1.txt","rw");
RandomAccessFile rafo=new RandomAccessFile("f://2.txt","rw");
//获得写入和读取通道
FileChannel foc=raf.getChannel();
FileChannel fic=rafo.getChannel();
//分配缓冲区大小
bb=ByteBuffer.allocate(1024);
//将数据读入缓冲区