Java 如何将长字符串压缩到文件中并检索它?
我试图将一个长字符串压缩到一个文件中并检索它 以下代码不起作用。它检索到的是胡言乱语Java 如何将长字符串压缩到文件中并检索它?,java,string,file,zip,Java,String,File,Zip,我试图将一个长字符串压缩到一个文件中并检索它 以下代码不起作用。它检索到的是胡言乱语 public static void main(String args[]) { try { // Creating base for data StringBuilder sbb = new StringBuilder(); for (int i=0;i<1000;i++) sbb.append("ùertyty!|")
public static void main(String args[]) {
try {
// Creating base for data
StringBuilder sbb = new StringBuilder();
for (int i=0;i<1000;i++)
sbb.append("ùertyty!|").append(Integer.toString(i));
File FileAll = new File(".\\All.data");
FileAll.createNewFile();
// Zipping into file
DeflaterOutputStream g = new DeflaterOutputStream(
new FileOutputStream(FileAll));
OutputStreamWriter osw = new OutputStreamWriter(g);
String base = sbb.toString();
osw.write(base);
osw.close();
FileInputStream ALL_FIS = new FileInputStream(FileAll);
// Re-reading from file
DeflaterInputStream dis = new DeflaterInputStream(ALL_FIS);
InputStreamReader isr = new InputStreamReader(dis);
StringBuilder sb = new StringBuilder();
char[] c = new char[1000];
int count = isr.read(c);
while ( count != -1 ) {
sb.append(c, 0, count);
count = isr.read(c);
}
isr.close();
String retr = sb.toString();
System.out.println("Are equal: " + retr.equals(base));
System.out.println("Base: " + base);
System.out.println("Retr: " + retr);
} catch (IOException e) {
System.err.println(e.toString());
}
}
publicstaticvoidmain(字符串参数[]){
试一试{
//创建数据基础
StringBuilder sbb=新的StringBuilder();
对于(int i=0;i您需要使用充气输入流(解压缩)而不是放气输入流
您需要使用充气输入流(减压)而不是放气输入流