JavaEE初阶-IO、存储、硬盘、文件系统相关常识以及基本操作

发布于:2022-11-28 ⋅ 阅读:(355) ⋅ 点赞:(0)

目录

 一.存储的基本常识

二.File类的基本操作

1.文件的基本操作-获取绝对路径

2.文件的基本操作-创建文件

3.文件的基本操作-删除文件

4.文件的基本操作- 重命名文件

 三.InputStream和OutputStream

1.InputStream来实现读操作

2.通过OutputStream来实现写操作

四.Writer和Reader(字符流的读和写操作)

Writer的写操作

Reader的读操作


 一.存储的基本常识

文件是存储在硬盘上的

硬盘和内存的区别:

1.内存存储空间小,硬盘空间大

2.内存访问速度快,硬盘速度慢

3.内存成本高,硬盘便宜

4.内存掉电数据丢失,硬盘掉电数据还在

二.File类的基本操作

1.文件的基本操作-获取绝对路径

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

public class Byte {
    public static void main(String[] args) throws IOException {
        File file=new File("./text/111/222/333/testtt.txt");
  System.out.println("获取的绝对路径为"+file.getAbsolutePath());//获取绝对路径   


    }
}

2.文件的基本操作-创建文件

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

public class Byte {
    public static void main(String[] args) throws IOException {
        File file=new File("./text/111/222/333/testtt.txt");
     file.mkdirs();//创建多级目录
     file.createNewFile();//创建新文件-只是最后一个文件
        
        


    }
}

3.文件的基本操作-删除文件

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

public class Byte {
    public static void main(String[] args) throws IOException {
        File file=new File("./text/111/222/333/testtt.txt");
        file.delete();//将该目录底下的文件删除
        


    }
}

4.文件的基本操作- 重命名文件

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

public class Byte {
    public static void main(String[] args) throws IOException {
        File file=new File("./text/111/222/333/testtt.txt");//文件要存在
        File file1=new File("./text/111/222/333/testtt1.txt");//文件不能存在

file.renameTo(file1);//将testtt.txt文件重命名为testtt1.txt

    }
}

 三.InputStream和OutputStream

1.InputStream来实现读操作

import java.io.*;

public class Byte {
    public static void main(String[] args) throws IOException {
  InputStream inputStream=new FileInputStream("C:/Users/yanchaopeng/Desktop/Test.txt/");//文件里有a,b两个字符

        while (true){
            int b=inputStream.read();
            if (b!=-1)//当读不到字符时返回值为-1
                System.out.println(b);//输出时由于是字节流读操作,输出的为ASII码
            else
                break;
        }
inputStream.close();//用完记得关闭文件,以防文件泄露。


    }
}

2.通过OutputStream来实现写操作

OutputStream是字节流写操作,写的时候只能输入ASii码来实现写操作,而不能输入字符,字符的操作要用到其他方法,下面会讲到。

import java.io.*;

public class Byte {
    public static void main(String[] args) throws IOException {
  OutputStream outputStream=new FileOutputStream("C:/Users/yanchaopeng/Desktop/Test.txt/");
        outputStream.write(97);//写入字符a
        outputStream.write(98);//写入字符b
        outputStream.flush();//刷新缓冲区使写入的操作实现
        outputStream.close();//关闭文件
       

    }
}

四.Writer和Reader(字符流的读和写操作)

Writer的写操作

import java.io.*;

public class Byte {
    public static void main(String[] args) throws IOException {
        Writer writer=new FileWriter("C:/Users/yanchaopeng/Desktop/Test.txt");//打开文件
        writer.write("hello, world");//将字符串写入到文件中
        writer.flush();//刷新缓冲区
       writer.close();//关闭文件
       

}

Reader的读操作

import java.io.*;

public class Byte {
    public static void main(String[] args) throws IOException {
        Writer writer=new FileWriter("C:/Users/yanchaopeng/Desktop/Test.txt");
        writer.write("hello, world");
        writer.flush();
       writer.close();//先将heello,world写入到文件当中。
        Reader reader=new FileReader("C:/Users/yanchaopeng/Desktop/Test.txt");
       char[] chars=new char[100];//定义一个字符数组
       int len=reader.read(chars);//将文件中内容放入到字符数组chars中并将长度返回给len
        for (int i = 0; i <len ; i++) {
            System.out.print(chars[i]);//打印文件中的内容

        }
        reader.close();//关闭文件
    }

}

因为Writer和Reader是字符流进行操作,所以对我们来说更加简单便捷,不需要来回的查ASII码表。 

 

 

 

 

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到