北京网站开发人员,中山做百度网站的公司吗,奢做品二手 哪个网站好,中小企业网站制作打印流
IO流打印流是Java中用来将数据打印到输出流的工具。打印流提供了方便的方法来格式化和输出数据#xff0c;可以用于将数据输出到控制台、文件或网络连接。
分类:打印流一般是指:PrintStream#xff0c;PrintWriter两个类
特点1:打印流只操作文件目的地#xff0c;…打印流
IO流打印流是Java中用来将数据打印到输出流的工具。打印流提供了方便的方法来格式化和输出数据可以用于将数据输出到控制台、文件或网络连接。
分类:打印流一般是指:PrintStreamPrintWriter两个类
特点1:打印流只操作文件目的地不操作数据源
特点2:特有的写出方法可以实现数据原样写出
字节打印流:默认自动刷新特有的println自动换行
字符打印流:自动刷新需要开启特有的println自动换行
例如:打印:97 文件中:97 打印:true 文件中:true
特点3:特有的写出方法可以实现自动刷新自动换行打印一次数据 写出换行刷新
字节打印流 构造方法 public PrintStream(OutputStream/File/String) 关联字节输出流/文件/文件路径 public PrintStream(String fileName,Charset charset) 指定字符编码 public PrintStream(OutputStream out,boolean autoFlush)自动刷新 public PrintStream(0utputStream out, boolean autoflush, String encoding)指定字符编码且自动刷新 字节流底层没有缓冲区开不开自动刷新都一样 成员方法 public voidwrite(int b) 常规方法:规则跟之前一样将指定的字节写出 public void println(Xxx xx) 特有方法:打印任意数据自动刷新自动换行 public void print(Xxx xx) 特有方法:打印任意数据不换行 public void printf(String format,Object... args) 特有方法:带有占位符的打印语句不换行 package printstream;import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;public class PrintStreamDemo1 {public static void main(String[] args) throws FileNotFoundException {PrintStream psnew PrintStream(new FileOutputStream(..\\Myio\\a.txt));ps.println(97);//打印任意数据自动刷新自动换行ps.print(true);//打印任意数据不换行ps.printf(%s等于%d,i,1);//带有占位符的打印语句不换行ps.close();}
}字符打印流
字符流底层有缓冲区想要自动刷新需要开启 构造方法 public PrintWriter(write/File/string) 关联字节输出流/文件/文件路径 public PrintWriter(String fileName,Charset charset) 指定字符编码 public PrintWriter(writew,boolean autoFlush) 自动刷新 public PrintWriter(OutputStream out, boolean autoFlush, Charset charset)指定字符编码且自动刷新 成员方法 public void write(...) 常规方法:规则跟之前一样写出字节或者字符串 public void println(Xxx xx) 特有方法:打印任意类型的数据并且换行 public void print(Xxx xx) 特有方法:打印任意类型的数据不换行 public void printf(String format,Object... args)特有方法:带有占位符的打印语句 package printstream;import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.io.PrintWriter;public class PrintStreamDemo2 {public static void main(String[] args) throws FileNotFoundException {PrintWriter pwnew PrintWriter(new PrintStream(..\\Myio\\a.txt),true);//写出数据pw.println(你好);pw.print(true);pw.printf(%s等于%d,i,1);//释放资源pw.close();}
}我们平时写的输出语句就是一个打印流System.out.println(); 获取打印流的对象此打印流在虚拟机启动的时候由虚拟机创建默认指向控制台特殊的打印流系统中的标准输出流,是不能关闭在系统中是唯一的。
解压缩流与压缩流
解压缩流 解压的本质:把压缩包里面的每一个文件或者按照层级拷贝到目的地当中
package zipstream;import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;public class ZipStreamDemo1 {public static void main(String[] args) throws IOException {//创建一个File表示要解压的压缩包File srcnew File(E:\\222.zip);//创建一个File表示要解压的目的地File endnew File(E:\\);unzip(src,end);}public static void unzip(File src,File end) throws IOException {//创建解压缩流用来读取压缩包中的数据ZipInputStream zisnew ZipInputStream(new FileInputStream(src));//要先获取到压缩包里面的每一个zipentry对象ZipEntry zipEntry;while ((zipEntryzis.getNextEntry())!null){System.out.println(zipEntry);if(zipEntry.isDirectory()){//是文件夹再目的地end处创建一个同样的文件夹File filenew File(end,zipEntry.toString());file.mkdirs();}else{//是文件需要读取到压缩包中的文件并把他存放到目的地end文件中(按照层级目录进行存放)FileOutputStream fosnew FileOutputStream(new File(end,zipEntry.toString()));int b0;while ((bzis.read())!-1){//写到目的地fos.write(b);}fos.close();zis.closeEntry();}}zis.close();}
}大家可以试一试别设置中文名字的
压缩流 压缩本质:把每一个(文件/文件夹)看成ZipEntry对象放到压缩包中
压缩单个文件
package zipstream;import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;public class ZipStreamDemo2 {public static void main(String[] args) throws IOException {//创建File对象表示要压缩的文件File srcnew File(E:\\a.txt);//创建File对象表示压缩包的位置File endnew File(E:\\);toZip(src,end);}public static void toZip(File src,File end) throws IOException {//创建压缩流关联压缩包ZipOutputStream zosnew ZipOutputStream(new FileOutputStream(new File(end,a.zip)));//创建ZipEntry对象表示压缩包里的每一个文件和文件夹ZipEntry entrynew ZipEntry(a.txt);//ZipEntry对象放到压缩包当中zos.putNextEntry(entry);//把src中文件数据写到压缩包中FileInputStream fisnew FileInputStream(src);int b;while ((bfis.read())!-1){zos.write(b);}zos.closeEntry();zos.close();}
}压缩文件夹
package zipstream;import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;public class ZipStreamDemo3 {public static void main(String[] args) throws IOException {//创建File对象表示要压缩的文件夹File srcnew File(E:\\222);//创建File对象表示压缩包放在哪里(压缩包的父级路径)File endParentsrc.getParentFile();//创建File对象表示压缩包的路径File endnew File(endParent,src.getName().zip);//创建压缩流关联压缩包ZipOutputStream zosnew ZipOutputStream(new FileOutputStream(end));//获取src里面的每一个文件变成zipEntry对象放入到压缩包当中toZip(src,zos,src.getName());//释放资源zos.close();}public static void toZip(File src,ZipOutputStream zos,String name) throws IOException {//1.进入src文件夹File[] files src.listFiles();//2.遍历数组for (File file : files) {if (file.isFile()) {//3.判断-文件变成zipEntry对象放入到压缩包当中ZipEntry entry new ZipEntry(name \\ file.getName());zos.putNextEntry(entry);//读取文件中的数据写到压缩包FileInputStream fis new FileInputStream(file);int b;while ((b fis.read()) ! -1) {zos.write(b);}fis.close();zos.closeEntry();} else {//4.判断-文件夹递归toZip(file, zos, name \\ file.getName());}}}
}打印流与压缩流就说到这里啦
努力遇见更好的自己