栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java的IO操作

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java的IO操作

1)文件 以及文件夹操作 :
 ---------------------------文件:   -----------------------------
 
 //1.1创建文件  

 File file=new File("d:\123.txt");

  //1.2判断文件是否存在  

         if(!file.exists()){
           	file.createNewFile();
         }

  //1.3删除  

         file.delete();

        file.deleteonExit();//退出jvm时,删除文件

  //1.4可执行、可读、可写  

         file.canExecute();

        file.canRead();

         file.canWrite();

  //1.5获取  

        file.getAbsoulatePath();

         file.getPath();

         file.getName();

         file.getParent();

         file.lastModified();//修改时间

  //1.6判断  

         file.isFile();

         file.isHidden();


         file.renameTo();//重命名


  ------------------------文件夹 :  ------------------------------

  //2.1创建文件夹  

      	File dir=new File("d:\aaa\bbb");

  //2.2判断是否存在  

      	if(!dir.exists()){

            dir.mkdir();//一级目录

            dir.mkdirs();//多级目录,创建目录链,如果父目录不存在则一同创建;

      	}

  //2.3删除  

      	dir.delete();

      	dir.deleteonExit();

  //2.4获取  

      	 dir.getAbsoulatePath();

         dir.getPath();

         dir.getName();

         dir.getParent();

  //2.5判断  

         dir.isDirectory();

         dir.isHidden();

         dir.renameTo();

  //2.6列出来当前目录下的文件和子文件夹  

         dir.list();	//String[ ]  —— 下级名称

         dir.listFiles();	//File[]  —— 下级所有文件和目录
 

4)read()方法:

(1)read方法,从输入流里面读取一个字节,该方法在你没有输入之后将会阻塞;
(2)返回值是下一个字节数据,或者是返回-1  ,是-1的情况是该文件到了结尾没有内容了;

 

5) r 与 n 与 rn ,换行与回车;
'r'是回车, 使光标到行首,
​
'n'是换行, 使光标下移一格,
​
Windows系统里面,每行结尾是“<回车><换行>”,  即“rn”  ;

6)mkdir()与mkdirs()的区别:
mkdir():创建一个目录,但必须保证上级目录存在,不存在则创建失败。
​
mkdirs():创建一个目录,如果上级目录不存在,则一同来创建。在实际开发中经常使用mkdirs()。
​
​
PS:我们创建文件,使用的是creatNewFile();我们创建文件夹(目录),使用的是mkdirs()。

7)OutputStream和InputStream不能直接实例化,
    OutputStream和InputStream都是抽象类,不能直接实例化,只能实例化他们的子类;
    
比如:   FileOutputStream 和 FileInputStream 。

10)newline( )、read()和readline() 方法
  @1: newline();  //换行符  
 @2:java中read()和readline()方法的对比:  
​
        read方法:读取单个字符。    如果已到达流末尾,则返回 -1;
​
        readLine方法:读取一个文本行。   

14)标准输入输出流(System.in、System.out)
​
    Java的标准输入/输出分别通过System.in和System.out实现,默认情况下分别代表是键盘和显示器;
​
PrintStream类:PrintStream为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。
​
PrintWriter类:向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream中的所有 print方法。它不包含用于写入原始字节的方法。
​
PrintStream主要操作byte流,
而PrintWriter用来操作字符流。读取文本文件时一般用后者,一般需要处理中文时用PrintWriter好了
​
 
16)对象流
流中流动的数据是对象流;
​
    ObjectInputStream: 对象输出流
​
    ObjectOutputStream:对象输入流

2)IO分类:

    按照流向 : 输入流和输出流;

    按照格式 : 字节流和字符流;

3)字节流、字符流

字节流 :

InputStream ----> FileInputStream

OutputStream ----> FileOutputStream

字符流:

Reader ----->InputStreamReader----> FileReader

Writer ----->OutputStreamWriter----> FileWriter

8) 传输文本文件时用Buffered缓冲流,不传输文本文件的话,不必用Buffered缓冲流:
  传输文本文件时,用Buffered缓冲流,可以传输中文,而且更有效率;  
​
  如果不传输文本文件的话,比如传输一个图片,则不必用Buffered缓冲流,用字节流即可;  

9)缓冲流、字节流、字符流的识别方法:
BufferedInputStream、BufferedOutputStream,缓冲流。
​
只要看到XXX.._Stream,说明就是字节流;
​
同理,只要看到XXX.._Reader,说明就是字符输入流,看到XXX.._Writer,说明就是字符输出流。
​
字节流是什么什么Stream,字符流是什么什么Reader或什么什么Writer。

11)装饰者模式
    装饰模式指的是:在不必改变原类文件和继承的情况下,  动态地扩展一个对象的功能  。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。
​
    应用场景:  需要扩展一个类的功能,或给一个类添加附加职责。  

12)转换流(InputStreamReader、OutputStreamWriter):
InputStreamReader:字节字符转换输入流,将字节输入流转换为字符输入流;
​
OutputStreamWriter:字符转换输出流,将内存中的字符转成字节保存到硬盘中。

13)内存流—ByteArrayInputStream、 ByteArrayOutputStream :
ByteArrayInputStream:将内容写入到内存中,是Inputstream的子类;
​
ByteArrayOutputStream:将内存中的数据输出,是OutputStream的子类;

15)对象中哪些字段可以不序列化:
1 transient 修饰的字段
​
2 静态的字段
​
transient关键字解释:
    1、transient关键字只能修饰变量,而不能修饰方法和类。
    2、被transient关键字修饰的变量不再能被序列化

18)IO流的核心类
IO流的5个核心类:
               - File   文件类
               - InputStream   字节输入流
               - OutputStream  字节输出流
               - Reader  字符输入流
               - Writer  字符输出流

19)所有IO流汇总:

 

20)IO流的总分结构:

 

···

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/778521.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号