java IO 文件操作方法总结

java IO 文件操作方法总结

对于输入输出的理解:

输入输出,以程序为参考点,外部数据进入程序,通过输入流完成。程序将数据给外部设备,通过输出流完成。

文件Io的操作

//获取文件

File file=new File("d:/a.txt");

file.getName()--String//文件名

file.getPath()--String//路径

file.getAbsolutePath()--String//全路径

file.getParent()--String//所在文件夹

file.exists()--Boolean//是否存在 是true否false

file.isFile()--Boolean//是否是文件

file.isDirectory()--Boolean//是目录吗
file.isAbsolute()--Boolean是全路径吗
file.canRead()--Boolean//可读?

file.canWrite()--Boolean//可写?

file.isHidden()--Boolean//是否隐藏的?
file.length()--long//大小

System.out.println(new Date(file.lastModified()));//最后修改日期
 返回:Tue Feb 07 11:15:09 CST 2017

创建删除文件:

file.createNewFile()--Boolean;//直接创建不会覆盖原来的文件

file.delete()--Boolean;//删除文件

迭代输出文件下所有的文件:

public class PrintFiles {
 String str="";
 public void Get(File dir){
  System.out.println(str+dir.getName());
  str+=" | ";
  print(dir,str);
 }
 public void print(File dir,String str){
  File[] files=dir.listFiles();
  for (File file :files) {
   if(file.isFile()) {
    System.out.println(str + file.getName());
   }
   if(file.isDirectory()){
    Get(file);
   }
  }
 }

 public static void main(String[] args) {
  PrintFiles p=new PrintFiles();
  File file=new File("C:\\Users\\xuezhendong\\Desktop\\新建文件夹 (2)");
  p.Get(file);
 }

}

查找特定文件:

File dir = new File("D:");
File[] files=dir.listFiles(new FileFilter() {//找特定的文件
 @Override
 public boolean accept(File pathname) {
  return pathname.getName().endsWith("txt");endwith表示后缀
 }
});
for (File file :
  files) {
 System.out.println(file);
}
File[] files=dir.listFiles(new FilenameFilter() {
 @Override
 public boolean accept(File dir, String name) {//dir文件所在的路径
  //name文件名
  return !name.endsWith("a");
 }
});

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Java NIO和IO的区别

    下表总结了Java NIO和IO之间的主要差别,我会更详细地描述表中每部分的差异. 复制代码 代码如下: IO                NIO面向流            面向缓冲阻塞IO            非阻塞IO无                选择器 面向流与面向缓冲 Java NIO和IO之间第一个最大的区别是,IO是面向流的,NIO是面向缓冲区的. Java IO面向流意味着每次从流中读一个或多个字节,直至读取所有字节,它们没有被缓存在任何地方.此外,它不能前后移动流中的数

  • JAVA IO API使用详解

    一.理论准备流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以"流"的方式进行,设备可以是文件.网络.内存等.流具有方向性,至于是输入流还是输出流则是一个相对的概念,一般以程序(小马哥说的是机器)为参考,如果数据的流向是程序至设备,我们成为输出流,反之我们称为输入流,可以将流想象成一个"水流管道"(很多资料都这么讲的),自然就出现了方向的概念.流把I/O设备内部的具体操作给隐藏起来了.所有InputStream和Reader的派

  • 详解Java中使用ImageIO类对图片进行压缩的方法

    最近做项目需要图片压缩处理,网上找的方法大都使用了 com.sun.image.codec.jpeg.* 这个包中的JPEGImageEncoder类,引入这个包后一直报错,各种google百度,尝试了各种方法,包括手动引jre中的rt.jar,以及在eclipse中把受访问限制的API提示从ERROR改为WARNING,等等,然而这些都是不好使的,因为后来我发现我的java-7-openjdk-amd64中的rt.jar里边根本就没有com.sun.image.*,貌似这个类在java7中已经

  • java IO流文件的读写具体实例

    引言: 关于java IO流的操作是非常常见的,基本上每个项目都会用到,每次遇到都是去网上找一找就行了,屡试不爽.上次突然一个同事问了我java文件的读取,我一下子就懵了第一反应就是去网上找,虽然也能找到,但自己总感觉不是很踏实,所以今天就抽空看了看java IO流的一些操作,感觉还是很有收获的,顺便总结些资料,方便以后进一步的学习... IO流的分类:1.根据流的数据对象来分:高端流:所有的内存中的流都是高端流,比如:InputStreamReader  低端流:所有的外界设备中的流都是低端流

  • Java注解之Retention、Documented、Inherited介绍

    Retention注解 Retention(保留)注解说明,这种类型的注解会被保留到那个阶段. 有三个值: 1.RetentionPolicy.SOURCE -- 这种类型的Annotations只在源代码级别保留,编译时就会被忽略 2.RetentionPolicy.CLASS -- 这种类型的Annotations编译时被保留,在class文件中存在,但JVM将会忽略 3.RetentionPolicy.RUNTIME -- 这种类型的Annotations将被JVM保留,所以他们能在运行时

  • java的io操作(将字符串写入到txt文件中)

    复制代码 代码如下: import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.PrintStream;import java.io.PrintWriter;import java.io.RandomAccessFile; public cla

  • java IO 文件操作方法总结

    java IO 文件操作方法总结 对于输入输出的理解: 输入输出,以程序为参考点,外部数据进入程序,通过输入流完成.程序将数据给外部设备,通过输出流完成. 文件Io的操作 //获取文件 File file=new File("d:/a.txt"); file.getName()--String//文件名 file.getPath()--String//路径 file.getAbsolutePath()--String//全路径 file.getParent()--String//所在文

  • Java IO文件过滤器对命令设计模式的使用

    一. 点睛 java io流里面使用到了很多的设计模式,最典型的就是装饰模式,还有命令模式.通过对文件过滤器功能的简单使用,可以一窥java io流对命令设计模式的典型使用.下面分两部分来讲,先举例说说文件过滤器的简单使用,再引申到它是如何使用到命令设计模式的,不会大篇幅讲模式,对命令模式想做更深入的了解请参考其他资料. 二. 示例 我们进行java编程的时候,如果想要访问文件或者目录,会使用File类,File是一个很强大的类,不管文件还是目录都可以使用它.如果要遍历文件会使用到File类的l

  • 实例讲述Java IO文件复制

    前言:IO流主要分为两大类,分别是字节流与字符流 注意: 1.音频文件.图片.视频(范围广),就用字节流 2.只涉及到文本的,就用字符流 使用字节流复制文本内容(其他文件也可以) 代码如下: import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; im

  • java io文件操作删除文件或文件夹的7种方法

    目录 一.删除文件或文件夹的四种基础方法 二.如何删除整个目录或者目录中的部分文件 前提准备 2.1. walkFileTree与FileVisitor 2.2.Files.walk 2.3.传统IO-递归遍历删除文件夹 本文是Java IO总结系列篇的第4篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 总结java创建文件夹的4种方法及其优缺点-JAVA IO基础总结第三篇 为了

  • Java IO文件编码转换实现代码

    对IO操作真心不是很懂...对编码.乱码也是一知半解...今天遇到了一个需求,要求将一个文件进行编码转换,并且返回编码后的字符串,如原本的GBK编码,转换为UTF-8 其中这个BytesEncodingDetect 类就不贴了.主要用了里面的获取文件编码格式. 刚开始试了直接在源文件修改编码方式,采用URLEncoder和URLDecoder进行转换,却迟迟不行.出现了中文奇数最后一个字乱码 百度找了解决方法,都未果,只好采用我的思路是:先读取源文件的内容,存放到StringBuffer里面,然

  • Java IO文件后缀名过滤总结

    实现效果:列出某个目录下的特定后缀名文件(如,列出D盘根目录下txt后缀的文件) import java.io.File; import java.io.FilenameFilter; public class QueryFile implements FilenameFilter{ String extension; //文件扩展名 public QueryFile(String extension){ this.extension="."+extension.toLowerCase

  • java io文件操作删除文件或文件夹的7种方法

    目录 本文是Java IO总结系列篇的第4篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇总结java创建文件夹的4种方法及其优缺点-JAVA IO基础总结第三篇 如果您阅读完成,觉得此文对您有帮助,请给我点个赞,您的支持是我不竭的创作动力. 为了方便大家理解,我特意制作了本文对应的视频:总结删除文件或者文件夹的7种方法 一.删除文件或文件夹的四种基础方法 下面的四个方法都可以删除文件

  • java io文件操作从文件读取数据的六种方法

    目录 1.Scanner 2.Files.lines (Java 8) 3.Files.readAllLines 4.Files.readString(JDK 11) 5.Files.readAllBytes() 6.经典管道流的方式 在上一篇文章中,我为大家介绍了<5种创建文件并写入文件数据的方法>,本节我们为大家来介绍6种从文件中读取数据的方法. 另外为了方便大家理解,我为这一篇文章录制了对应的视频:总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 Scanner(Ja

  • java实现文件编码转换的方法

    在开发过程中,可能会遇到文件编码的转换,虽然说开发工具eclipse可以转换编码,但是有的情况却很不方便.比如,原来文件本身的编码是GBK,现在要转换成UTF-8,如果直接在eclipse中把文件编码修改成UTF-8,恭喜你,是乱码,因为不能直接从GBK到UTF-8进行转换,这时就需要我们手动的来转换编码.下面是一个文件编码转换的工具类. package com.mikan.stuff; import java.io.File; import java.io.FileInputStream; i

  • Java实现文件分割与合并

    本文实例为大家分享了Java实现文件分割与合并的具体代码,供大家参考,具体内容如下 文件的操作 文件的分割 package com.xhh.util; import java.io.*; /** * 文件分割的方法 * @param SrcFilePath 指定分割的文件路径 * @param SingleGoalFileSize 分割文件的个数 * @param GoalFileDirectory 分割之后的路径 */ public class Split{ public static voi

随机推荐