java - 如何将“For Loop”中的数据保存到压缩的“.txt”文件中
问题描述
我正在尝试编写一个java代码来将“For Loop”(名为“arr”的二维数组)中的数据保存到压缩的“.txt”文件中。
FileOutputStream fos = new FileOutputStream(path to zip file);
ZipOutputStream zipOut = new ZipOutputStream(new BufferedOutputStream(fos));
ZipEntry ze = new ZipEntry(path txt file);
zipOut.putNextEntry(ze);
for (int r = 0; r < 1048577; r++) {
for (int c = 0; c < 25; c++) {
zipOut.write(arr[r][c] + ","); // how do I write this line?
}
zipOut.write("\n"); // how do I write this line?
}
zipOut.closeEntry();
zipOut.close();
应该添加什么代码将结果转换为字节,然后使用“ZipOutputStream”将数据写入压缩的“.txt”文件?
谢谢。
解决方案
import java.util.*;
import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class Main {
public static void main(String[] args) {
FileOutputStream fos = null;
ZipOutputStream zipOut = null;
ZipEntry ze = null;
try {
char[][] arr = {{'a', 'b'}, {'d', 'c'}};
fos = new FileOutputStream("a.zip");
zipOut = new ZipOutputStream(new BufferedOutputStream(fos));
ze = new ZipEntry("out.txt");
zipOut.putNextEntry(ze);
StringBuilder sb = new StringBuilder();
for (int r = 0; r < arr.length; r++) {
for (int c = 0; c < arr[0].length; c++) {
sb.append(arr[r][c]).append(",");
}
sb.append("\n"); // how do I write this line?
}
zipOut.write(sb.toString().getBytes());
zipOut.closeEntry();
zipOut.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
也许这对你有用
推荐阅读
- lodash - groupBy 但对于对象和每个键
- python - mitmproxy 是真正的代理/反向代理吗?
- kubernetes - 如何配置 K8s 集群以利用空闲 CPU 容量进行 ML 训练作业(或其他低优先级 CPU 密集型工作)
- sql - POSTGRES - 使用 psycopg 在单个事务中进行多项操作
- javascript - 配置 Babel 以将别名引用的兄弟模块包含到编译中
- c# - “值不能为空”“参数名称:键”在编译期间没有明显(?)原因
- mysql - Mysql查询从一组不同尺寸中获取最接近的图像尺寸
- javascript - 获取并存储数据中所有更改的值
- python - python中的FileNotFoundError
- pandas - 重新采样熊猫系列