您当前的位置: 首页 >  Java

星夜孤帆

暂无认证

  • 6浏览

    0关注

    626博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java流式操作文件的上传下载

星夜孤帆 发布时间:2021-10-10 14:29:29 ,浏览量:6

1、InputStream和OutputStream 

InputStream和OutputStream是抽象类,是所有字节输入流和输出流的父类。

这里,我们首先要分清楚两个概念:

InputStream(输入流):输入流是用来读入数据的。读入

OutputStream(输出流):输出流是用来写出数据的。写出

public class FileUtil {

    public static void testFileOutPutStream() throws FileNotFoundException {

        FileOutputStream fileOutputStream = new FileOutputStream("jak.txt");
    }

    public static void createTempFile() throws Exception {
        File tempFile = File.createTempFile("test", ".txt");
        System.out.println("文件路径: " + tempFile.getAbsolutePath());
        tempFile.deleteOnExit();
        FileOutputStream fileOutputStream = new FileOutputStream(tempFile);
        fileOutputStream.write("aaa".getBytes());
    }

    public static void main(String[] args) throws Exception {
        createTempFile();
    }
}
 2、使用FileInputStream和FileOutputStream实现文件的复制
import java.io.FileInputStream;
import java.io.FileOutputStream;

/**
 * 使用文件输入流和文件输出流实现文件的复制
 * @author Administrator
 *
 */
public class SummaryFISAndFOS {
    public static void main(String[] args){
        /**
         * 1.先将文件中的内容读入到输入流中
         * 2.将输入流中的数据通过输出流写入到目标文件中
         * 3.关闭输入流和输出流
         */
        try {
            long begin=System.currentTimeMillis();
            //从输入流中读取数据
            FileInputStream fis=new FileInputStream("FOSDemo.txt");
            //向输出流中写入数据
            FileOutputStream fos=new FileOutputStream("FISAndFOSDest.txt");
            //先定义一个字节缓冲区,减少I/O次数,提高读写效率
            byte[] buffer=new byte[10240];
            int size=0;
            while((size=fis.read(buffer))!=-1){
                fos.write(buffer, 0, size);
            }
            fis.close();
            fos.close();
            long end=System.currentTimeMillis();
            System.out.println("使用文件输入流和文件输出流实现文件的复制完毕!耗时:"+(end-begin)+"毫秒");
        } catch (Exception e) {
            e.printStackTrace();
        }
        //解决JNI问题(Java Native Interface)
        System.exit(0);
    }
}

参考博客

关注
打赏
1636984416
查看更多评论
立即登录/注册

微信扫码登录

0.1947s