Javaにはデータを圧縮しZIPファイルにすることが出来るライブラリZipOutputStreamがあります。
当ライブラリを使用して、データを読み込んで圧縮しZIPファイルを作成するサンプルコードを書いてみました。
/** データ読み込み.
* サンプルファイルを読み込んでデータを返却する
*/
private byte[] getFileData() {
  // 入力ファイル
  Path path = Paths.get("test.txt");
  // 入力ファイルの中身
  byte[] inputFileData = null;
  
  try {
    // 読み込み
    inputFileData = Files.readAllBytes(path);
  } catch (IOException e) {
    System.out.println("読み込み失敗");
    e.printStackTrace();
  }
  return inputFileData;
}
/**
* ZIP作成.
* 引数で渡されたデータをZIPにまとめる
*/
private boolean createZip(byte[] inputFileData) {
  // 文字コード
  Charset charset = Charset.forName("MS932");
  // 出力ファイル
  String outputZipName = "output.zip";
  String outputFileName = "output.txt";
  
  try {
    // Stream作成
    FileOutputStream fos = new FileOutputStream(outputZipName);
    BufferedOutputStream bos = new BufferedOutputStream(fos);
    ZipOutputStream zos = new ZipOutputStream(bos, charset);
    // zipファイル内にファイル作成
    zos.putNextEntry(new ZipEntry(outputFileName));
    // データ書き込み
    zos.write(inputFileData);
    // Close
    zos.closeEntry();
    zos.close();
  } catch (IOException e) {
    e.printStackTrace();
  }
  return true;
}
サンプルコードをSpring Bootプロジェクトに組み込んで実行してみると、このようにプロジェクト親フォルダ直下にtest.zipが出力されます。

* 上記サンプルコード実行するにはプロジェクト親フォルダ直下にtest.txtが必要です。