读文件为字符串也可以采用
BufferedReader br= new BufferedReader(
new InputStreamReader(
new FileInputStream(
new File(""))));
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
public class Main
{
public static void main(String argv[]){
try {
String src=FileHelper.fileToString("/home/martin/la.txt");
String s=ZipUtil.compress(src);
String ret=ZipUtil.uncompress(s);
System.out.print(src.length()+ " "+ s.length()+" "+ret.length()+
" "+src.equals(ret)+'\n');
// System.out.print(ret);
} catch (IOException e) {
e.printStackTrace();
}
}
static class ZipUtil{
public static String compress(String str) throws IOException {
ByteArrayOutputStream out = new ByteArrayOutputStream();
GZIPOutputStream gzip = new GZIPOutputStream(out);
gzip.write(str.getBytes());
gzip.close();
return out.toString("ISO-8859-1");
}
public static String uncompress(String str) throws IOException {
ByteArrayOutputStream out = new ByteArrayOutputStream();
ByteArrayInputStream in = new ByteArrayInputStream(str
.getBytes("ISO-8859-1"));
GZIPInputStream gunzip = new GZIPInputStream(in);
byte[] buffer = new byte[256];
int n;
while ((n = gunzip.read(buffer)) >= 0) {
out.write(buffer, 0, n);
}
return out.toString();
}
}
static class FileHelper{
public static String fileToString(String path) {
StringBuilder sb=new StringBuilder();
File file=new File(path);
try{
FileReader fr=new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String str;
while((str=br.readLine())!=null){
sb.append(str+'\n');
}
}catch(Exception e){
e.printStackTrace();
}
return sb.toString();
}
}
}