/*查看目录下所有的文件*/
package cn.file; import java.io.File; public class Text2 { public static void main(String[] args) { File a=new File("F:\\图片"); File a1=new File("F:\\你的"); chek(a1); } public static void chek(File f3) {//查看目录下的所有文件 if(f3.exists()){ if(f3.isDirectory()){ File [] f=f3.listFiles();//查看目录的文件 for(int i=0;i<f.length;i++){ chek(f[i]); } } else {System.out.println(f3);}; } }
复制子目录
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.Reader; import java.io.Writer; //练习:关于目录的拷贝? public class Text6 { // 缓冲区大小 private static final int buffer_size = 1024*2; // 源和目标检测 private static void doCopy(File src, File dst)throws IOException { if (src.isFile()) { copyFile(src, dst); } else { File dir = copyDirectory(src, dst); File[] files = src.listFiles(); if (files.length == 0) { } else { for (File file : files) { doCopy(file, dir); } } } } // 拷贝实现 public static void copy(File src, File dst) throws IOException { doCopy(src, dst); } // 文件拷贝 private static void copyFile(File src, File dst) throws IOException { File file = new File(dst, src.getName()); copy(new BufferedInputStream(new FileInputStream(src)), new BufferedOutputStream(new FileOutputStream(file))); } // 目录拷贝 要在目标设备中创建目录 private static File copyDirectory(File src, File dst) { File file = new File(dst, src.getName()); file.mkdir(); return file; } // 拷贝 private static int copy(BufferedInputStream in, BufferedOutputStream out) throws IOException { int byteCount = 0; // 问号 byteCount try { int bytesReader = 0; byte [] buffer = new byte[buffer_size]; while ((bytesReader = in.read(buffer)) != -1) { out.write(buffer, 0, bytesReader); byteCount += bytesReader; } out.flush(); } finally { in.close(); out.close(); } return byteCount; } public static void main(String[] args)throws IOException { File a=new File("F:\\测试的文件"); File b=new File("F:\\我的"); copy(a,b); System.out.println("finish................."); } }
给文件改名
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class Text1{ public static void main(String[] args)throws IOException { File a=new File("F:\\测试的文件\\我的"); File b=new File("F:\\测试的文件\\我的"); copyList(a,b); } public static void copyList(File a,File b )throws IOException{//第一步 File c=a; BufferedInputStream bis=null; BufferedOutputStream bos=null; byte bs []=new byte [1024]; if (!b.exists()){ //判断b的文件夹是否存在 b.mkdir(); } if(c.isDirectory()){ File d [] =c.listFiles();//得到目录文件的数组 if(d!=null){//判断文件目录是否为空 for (int i=0;i<d.length;i++){ copyList(d[i],b);//递归查询 //System.out.println(d[i]);//查看目录里的文件 if(d[i].isFile()){ if(d[i].getName().endsWith(".jpg")){//根据条件判断的复制 int rel=0; bis=new BufferedInputStream(new FileInputStream(d[i])); bos=new BufferedOutputStream(new FileOutputStream(new File(b,i+".jpg"))); while((rel=bis.read(bs))!=-1){ bos.write(bs, 0, rel); bos.flush(); } bos.close(); bis.close(); d[i].delete();//复制后删去复制的文件 这样看起来像是剪切 } } } } }else{System.out.println(c);} } }
/**过滤后复制文件夹*/
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; //经典过滤方案 用到 iO流 递归 public class Text4 { public static void print(File dir,File f2 )throws IOException{ //判断鱼塘是否存在 if (dir!=null){ //判断鱼塘是否有鱼 if (dir.isDirectory()){ //把鱼塘里面所有东西装箱 File f []=dir.listFiles(); //判断箱子是否为空 if (f!=null){ //遍历箱子里面的东西 for (int i=0;i<f.length;i++){ //假如箱子里还有箱子就继续打开 print(f[i],f2); if (f[i].isFile()){ String name =f[i].getName(); if(name.endsWith(".jpg")){ BufferedInputStream bi=new BufferedInputStream(new FileInputStream(f[i])); BufferedOutputStream bo=new BufferedOutputStream(new FileOutputStream(new File(f2,f[i].getName()))); int rel=0; byte [] bs=new byte [1024]; while((rel=bi.read(bs))!=-1){ bo.write(bs,0,rel); bo.flush(); //f[i].delete();//复制后删去复制的文件 这样看起来像是剪切 } } } } }else{//System.out.println(dir); }; } } } public static void main(String[] args) throws IOException { File f1=new File("F:\\音乐"); File f2=new File("D:\\速度1"); print(f1,f2); System.out.println("复制成功"); //print(new File("F:"+File.separator+"音乐")); //System.out.println("遍历文件夹"); } }
/*删除文件与文件夹*/
import java.io.File; import java.io.IOException; public class Text3 { public static void main(String[] args) throws IOException { File f=new File("F:\\我的"); delect(f); } public static void delect(File s){ File b []=null; if(s.exists()){//判读是否存在 if(s.isDirectory()){//判断是不是目录 b=s.listFiles(); if(b!=null){ for(int i=0;i<b.length;i++){ if(b[i].isFile()){ //判断是不是目录 b[i].delete();//删除子文件 }else{ delect(b[i]);//递归 b[i].delete();}//删除子目录 } } }else{s.delete();}; s.delete(); } } }
相关推荐
理解并熟练运用Java IO流技术是开发Java应用程序的关键,它能够有效地处理数据的读写操作,无论是简单的文本文件还是复杂的网络通信。在实际编程中,根据需求选择适当的流类型,结合处理流进行优化,可以构建出高效...
Java IO流是Java平台中用于处理输入/输出操作的核心组件,它允许程序与各种数据源(如文件、网络连接、内存缓冲区等)进行交互。Java IO流的精讲涵盖了许多概念和技术,包括流的分类、流的方向、缓冲区的使用、字符...
Java IO流是Java编程语言中处理输入输出操作的重要部分,尤其在数据传输、文件读写等方面发挥着核心作用。本文将深入探讨Java IO流的基本概念、类型以及它们在实际开发中的应用。 首先,理解IO流的基本概念至关重要...
在本文中,我们将深入探讨Java IO流的各个方面,包括它的分类、工作原理、常见类以及实际应用。 一、IO流的分类 Java IO流分为两大类:字节流和字符流。字节流处理的是单个8位的字节,而字符流处理的是16位Unicode...
本文将深入探讨Java的IO流实例应用,旨在帮助开发者更好地理解和掌握这一关键概念。 IO流在Java中分为两大类:字符流(Character Stream)和字节流(Byte Stream)。字符流处理的是Unicode编码的字符,而字节流则...
读写文件是Java IO流应用最广泛的场景之一。下面将详细介绍如何使用Java IO流进行文件的读取和写入操作。 1. **文件读取**: - 使用`FileInputStream`或`BufferedReader`类读取字节流或字符流。例如,使用`...
### Java IO流基础知识点 #### 一、IO流概述 - **定义**:在Java中,IO流(Input/Output Streams)是用来处理输入输出的基本工具。流是一种有序的数据集合,通常涉及从源到目的地的数据传输过程。源可以是文件、...
### Java IO流详解 #### 一、流的概述与分类 在Java中,流是一种抽象概念,用于描述数据从一个地方传输到另一个地方的过程。它主要用于处理数据输入和输出,例如从磁盘读取文件、向网络发送数据或从键盘接收用户...
Java中的IO流是Java平台提供的一种处理输入输出数据的核心机制,广泛应用于文件读写、网络通信、数据转换等场景。IO流分为字节流(Byte Stream)和字符流(Character Stream),它们构成了Java IO系统的基础。 1. *...
Java IO流是Java编程语言中用于处理输入输出操作的一个重要概念。它允许程序读取数据源或向数据目的地写入数据。...通过合理地组织和管理IO流,可以在不同的应用场合下灵活使用,满足各种数据输入输出的需求。
Java IO流是Java平台中的核心概念,用于处理输入和输出数据。在Java中,I/O流分为两大类:字节流(Byte Stream)和字符流(Character Stream)。字节流处理单个字节的数据,而字符流处理Unicode字符集中的字符。Java...
下面将详细探讨Java IO流的原理及其在开发记事本应用中的运用。 首先,Java的IO流分为两大类:字节流和字符流。字节流处理的是8位的字节,适用于处理任何类型的数据,如图片、音频、视频等;而字符流处理的是16位的...
Java的IO流是Java编程语言中的重要组成部分,它主要用于数据的输入和输出操作。在Java中,IO流被设计为处理任何类型的数据,包括字符、字节甚至对象。本练习旨在帮助初学者理解和掌握Java IO流的基础知识。 一、IO...
在这个详细的源代码下载中,我们可以通过四篇相关的CSDN博客文章来深入理解Java IO流的工作原理和实际应用。 首先,我们需要了解Java IO流的分类。Java IO库中的流分为字节流和字符流两大类,每类又分为输入流和...
Java IO流是Java编程中非常基础且重要的部分,无论是进行简单的文件操作还是复杂的网络通信,都离不开对IO流的理解和应用。掌握Java IO流不仅可以提高代码的可维护性和扩展性,还能有效提升程序员解决问题的能力。...
1. **Java IO流**:Java IO流是Java平台的核心特性之一,它提供了一种处理数据的机制,允许程序进行读写操作。Java IO流分为字符流和字节流,其中字符流处理Unicode字符,而字节流处理原始的8位字节数据。此外,还有...
本篇文章将深入探讨如何使用Java IO流实现文件的上传和下载功能,以及两个已测试通过的JSP程序——`uploadDRFile.jsp`和`daoRuform.jsp`的应用。 1. **文件上传**: 文件上传通常发生在用户通过网页表单选择本地...
Java IO流课程是Java编程领域中的重要组成部分,尤其对于初学者和有经验的开发者来说,理解和熟练运用IO流是至关重要的。马士兵老师的这门课程深入浅出地讲解了Java IO流的相关概念和技术,旨在帮助学员掌握数据输入...