Java教程

JAVA - 文件切分存储 - FileInputStream 流形式

本文主要是介绍JAVA - 文件切分存储 - FileInputStream 流形式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package stream;
import java.io.*;
/**
 * @author*/
public class TestStream {
    public static void main(String[] args) throws IOException {
        // ***********************    read
        File file = new File("D:/stream/note.txt");
        FileInputStream fileInputStream = null;
        try {
            fileInputStream = new FileInputStream(file);
            long length = file.length();
            int size = 3*1024;
            byte[] bytes = new byte[size];
            int count = 0;
            if (length<=size) {
            // 一次存储
                myWrite(fileInputStream,bytes,0,size,0);
            } else {
            // 分段存储
                for (long i = length; i > 0; i--) {
                    if (i % size==0) {
                        count++;
                        myWrite(fileInputStream,bytes,0,size,count);
                    }
                    if (i == 1 && length % size!=0){
                        // 处理剩余的 。
                        size = (int) (length - size*count);
                        bytes = new byte[size];
                        count++;
                        myWrite(fileInputStream,bytes,0,size,count);
                    }
                }
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } finally {
            fileInputStream.close();
        }
    }
    public static void myWrite(FileInputStream fileInputStream,byte[] bytes,int index,int size,int count) throws IOException {
        fileInputStream.read(bytes, index, size);
        File wroteFile = new File("D:/stream/wrote-"+count+".txt");
        wroteFile.delete();
        FileOutputStream fileOutputStream = new FileOutputStream(wroteFile);
        fileOutputStream.write(bytes);
    }
}

 

 

这篇关于JAVA - 文件切分存储 - FileInputStream 流形式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!