我需要的文件是1529字节,它不工作

pkln4tw6  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(303)

我错过什么了吗?我只需要1529字节。这是为了我的项目,我不明白发生了什么。
我有一个字节数组,我想一次在指定的文件中随机写入其中一个。

import java.io.*;
import java.util.Random;

public class Cover {

public static byte[] aPenman = {97, 98, 99, 100, 101, 102};
public static long mTabulable(String fileName) throws IOException {

    String path = "C:\\Users\\KOSTAS\\IdeaProjects\\prog\\src\\"+fileName;
    File file = new File(path);
    BufferedOutputStream out = null;
    try {
        out = new BufferedOutputStream(new FileOutputStream(file));
    } catch (FileNotFoundException e) {
        System.err.println("Unable to open file " + fileName);
    }

    long sum = 0;
    try {
        int i = 0;
        while (file.length() != 1529){
            int rand = new Random().nextInt(aPenman.length);
            out.write(aPenman[rand]);
            if (i < 1347) {
                sum += aPenman[rand];
            }
            i++;
        }
        out.close();
    }catch (Exception e){
        System.err.println("Unable to open file " + fileName);
        }
        return sum;
    }

}
xhv8bpkk

xhv8bpkk1#

我认为你错过了一个:

out.flush();

就在你的下面:

out.write(aPenman[rand]);

在while循环中
这将强制将任何缓冲输出字节写入底层输出流。

相关问题