javaIO-文件流-文件内容复制

xiaoxiao2021-02-28  46

文件流,就是程序和文件打交道,此时的文件是纯文本文件。 分为四个:

FileInputStreamFileOutputStreamFileReader

FileWriter

代码演示一下:

import java.io.*; public class FilleStreamDemo { public static void main(String[] args) throws IOException { File file=new File("a.txt"); //1.演FileOutputStream-Writer OutputStream out=new FileOutputStream(file,true); // String s="abc"; //将字符串转换为字符数组写入文件中 byte[] b=s.getBytes(); out.write(b); out.close(); //2.演示FileInputStream-Reader InputStream in=new FileInputStream(file); //读取文件的信息,存储到b数组里面 in.read(b); //输出形式为数组,【97,98,99】 System.out.println(Arrays.toString(b)); //输出形式为字符串:abc System.out.println(new String(b)); in.close(); } }

文件复制操作-字节流

import java.io.*; public class FilleStreamDemo { public static void main(String[] args) throws IOException { File file=new File("a.txt"); File file2=new File("b.txt"); InputStream in = new FileInputStream(file); OutputStream out = new FileOutputStream(file2, true); byte[] b=new byte[4];//创建缓存区,存储读取的数据 int len=-1;//表示已经读取了多少个字节,如果len返回-1,表示已经读到最后 while((len=in.read(b))!=-1){ //打印出读取的数据 System.out.println(new String(b,0,len)); out.write(b,0,len); } in.close(); out.close(); } }

文件复制操作-字符流

public class FileCoDemo { public static void main(String[] args) throws Exception { File sre=new File("java/a.txt"); File dest=new File("java/b.txt"); Reader in=new FileReader(sre); Writer out=new FileWriter(dest); char[] ch=new char[1024]; int len=-1; while((len=in.read(ch))!=-1){ System.out.println(new String(ch,0,len).toString()); out.write(ch,0,len); } in.close(); out.close(); } }

文件拷贝案例-拷贝指定目录下的指定类型文件到指定目录

public class FileProjectDemo { public static void main(String[] args) throws Exception { //文件拷贝案例-拷贝指定目录下的指定类型文件到指定目录 //创建源目录 File sreF=new File("java"); //创建目的目录 File destF=new File("text"); //获取源目录里面的指定类型文本文件 File[] fs=sreF.listFiles(new FilenameFilter(){ @Override public boolean accept(File dir, String name) { //将以“.java”结尾的文件保存到数组fs里面 return new File(dir,name).isFile()&&name.endsWith(".java"); } }); //迭代出每一个.java文件并复制。 for(File f:fs){ //创建读写流 InputStream in=new FileInputStream(f); //将符合条件的文件复制到目录文件 OutputStream out = new FileOutputStream(new File(destF,f.getName())); byte[] b=new byte[1024]; //对每一个文件里的内容进行复制 int len = -1;//表示已经读取了多少个字节,如果len返回-1,表示已经读到最后 while ((len = in.read(b)) != -1) { //将缓存区b中的内容写入到指定的文件对象里 out.write(b, 0, len); } //关闭资源 in.close(); out.close(); } } }
转载请注明原文地址: https://www.6miu.com/read-59156.html

最新回复(0)