java从小白开始(IO流入门)

Posted 韶光不负

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java从小白开始(IO流入门)相关的知识,希望对你有一定的参考价值。

相信大家在许多的情况下都需要对电脑文件进行输入与输出,原因程序的结果一般存储在内存当中,当你没有保存到磁盘当中时,数据是无法进行持久化(长时间保存)的,所以使用I/O流就很重要了,下面就和小编一起来看看吧!

目录

什么是I/O流?

什么是流?

文件操作

转义字符

文件类操作(在Java中一切皆是对象,所以可以使用对象方式操作文件)

File类,在Java当中使用File类来操作文件

File的常见方法

 作业:查看文件夹下所有的图片


什么是I/O流?

Java中的io是实现输入与输出的基础,可以方便对数据的读取与输入(计算机的的输入输出基本都是二进制的),Java中把输入与输出是以流的形式进行操作的Java.io包中提供了大量的供我们操作的“流”的方法与接口,方便对各类数据的操作) ,所以在io包下以流形式进行操作所以被称为I/O流(小编是这样认为的)。(Java最小的操作单位是byte,不是bit)

什么是流?

简单来说流,可以理解为一种通道,输入输出可以理解为两种不同的通道,以水龙头开水为例,当你打开水龙头开水,水龙头就是一个输出流,而水电局就一个输入流。

文件操作

转义字符

在Java当中不是使用/“正斜杠”来当文件路径,而是使用\\“反斜杠”。在Java当\\“反斜杠”表示转义。所以使用要小心!!!

\\:转义字符的使用
转义前转义后
"\\\\""\\"
"\\n"换行,不会跟着上面一起输出,自己另起一排,从头开始
"\\r"回车,光标回到当前行的行首,之后的内容会覆盖前面内容
"\\n"制表符:占4个空格
package com.ioclass;

import org.junit.Test;

public class FileTest 

    @Test
    public  void testFile()
        System.out.println("\\\\"); // 表示文件路径的转义 “\\”
        System.out.println("I \\r love you"); //回车
        System.out.println( "I \\n love \\n you"); //换行符
        System.out.println(" i\\tlove\\tyou "); //制表符 空个格子


    

文件类操作(在Java中一切皆是对象,所以可以使用对象方式操作文件)

File类,在Java当中使用File类来操作文件

File构造器
public File(String pathname) 
通过给定路径名称的字符串来创建File对象
public File(String parent, String child)
通过给定父类路径与文件路径名称的字符串来创建File对象
public File(File parent, String child)
通过给定父类路径对象与文件路径名称的字符串来创建File对象
package com.ioclass;

import org.junit.Test;

import java.io.File;

public class FileTest 

    @Test
    public  void testFile()
        //方式一
        File file = new File("C:\\\\Users\\\\Lenovo\\\\Pictures\\\\Camera Roll");

        //方式二
        File file1 = new File("C:\\\\Users\\\\Lenovo\\\\","Pictures\\\\Camera Roll");

        //方式三
        File file2 = new File(file,"a.txt");

    

File的常见方法

File的常见方法
isFile()
判断该file是不是文件
isDirectory()
判断是不是文件夹
length()
返回此抽象路径名定义的文件的长度。如果此路径名定义了一个目录返回值未指定。
exists()
判断文件是否存在,
createNewFile()
当文件不存在时,创建文件
delete()
删除文件(存不存在都会删除)
deleteOnExit()
判断文件是否存在,存在就删除
mkdir()
创建文件夹
mkdirs()
一次创建多个文件夹
list()
查看文件夹下所有文件
getName()
获取文件名称
getPath()
获取文件路径
getParent()
获取文件夹下的路径
getAbsolutePath()
获取文件夹的绝对路径
getTotalSpace()
查看磁盘容量大小
renameTo(new name)
修改文件名称(记得带后缀名!!!)

练习:

file.renameTo(new File("E:\\\\IT笔记\\\\txt")); //修改文件名称方式
package com.ioclass;

import org.junit.Test;

import java.io.File;
import java.io.IOException;

public class FileTest 

    @Test
    public  void testFile()
        //方式一
        File file = new File("E:\\\\IT笔记\\\\test");
        //exists() :判断文件是否存在,存在就可以操作
        if (file.exists())
            System.out.println(file.getName()); //获取文件名称
            System.out.println(file.getParent()); //获取文件夹路径
            System.out.println(file.getAbsolutePath()); //获取文件绝对路径
            System.out.println(file.getTotalSpace()); //查看磁盘下的容量
            System.out.println(file.getPath()); //获取路径
            System.out.println(file.isFile());//判断是不是文件
            System.out.println(file.isDirectory()); //判断是不是文件夹
            System.out.println(file.length()); //查看文件大小
            boolean isDel = file.delete();
            System.out.println(isDel ? "删除成功" : "删除失败");
        else 
            try 
                boolean newFile = file.createNewFile();//当文件不存在时创建文件出来
                System.out.println(newFile); //查看是否创建成功
             catch (IOException e) 
                e.printStackTrace();
            
        
    

 作业:查看文件夹下所有的图片

package com.ioclass;

import org.junit.Test;


import java.io.File;


public class Lookimg 
    @Test
    public void testFile()
        Lookimg lookimg = new Lookimg();
        String path = "C:\\\\Users\\\\Lenovo\\\\Pictures";
        lookimg.find(path);


    

//    static  class Myfilter implements FilenameFilter
//        //重写过滤方法,查找图片
//        @Override
//        public boolean accept(File dir, String name) 
//            return name.contains("png");
//        
//    
    public void  find(String path)
        //获取文件对象
        File file = new File(path);
        //过滤获取文件夹或者图片
        File[] list = file.listFiles((f,n) -> new File(f,n).isDirectory() || n.contains("png") || n.contains("jpg"));
        //判断文件是否为空
        if (list == null || list.length == 0)
            return;
        
        for (File parent: list) 
            if (parent.isDirectory())
                //递归
                find(parent.getAbsolutePath());

            else 
                System.out.println(parent.getName()); //打印图片名称出来
            
        
    

以上是关于java从小白开始(IO流入门)的主要内容,如果未能解决你的问题,请参考以下文章

IO流入门-第四部分-FileReader

java-io流入门

IO流入门-第十一章-PrintStream_PrintWriter

io流入门级别demo

IO流入门-第八章-BufferedWriter

IO流入门-第十二章-ObjectInputStream_ObjectOutputStream