java基础-Stream(流)、File(文件)和IO

Java中的流(Stream)提供了一个统一的接口来处理输入和输出数据文件(File)提供了一种简单的方式来操作磁盘上的文件,而I/O则允许我们在Java程序中读写数据

一、流Stream

java中得stream是一种抽象概念,流可以从多种来源读取数据,包括文件、网络和内存。分为字节流和字符流

1、字节流(InputStream和OutputStream)

字节流:处理二进制数据,用于读取和写入文件

    public static void main(String[] args) throws IOException {
        FileInputStream inputStream = null;
        FileOutputStream outputStream = null;
        try {
            inputStream = new FileInputStream("input.txt");
            outputStream = new FileOutputStream("output.txt");
            int c;

            while ((c=inputStream.read())!=-1){
                outputStream.write(c);
            }
        }finally {
            if (inputStream!=null){
                inputStream.close();
            }
            if (outputStream!=null){
                outputStream.close();
            }
        }
    }

2、字符流(Reader和Writer)

字符流:处理文本数据,读取和写入文本文件

FileReader in = new FileReader("input.txt);
FileWriter out = new FileWriter();

3、缓冲流BufferedInputStream和BufferedOutputStream

缓冲流可以提高字节流和字符流的性能,它们通常被用来缓存数据BufferedInputStreamBufferedOutputStream是Java中两个主要的缓冲流类型,它们分别用于缓存字节和字符数据

二、文件操作

java提供了许多文件操作类,其中最重要的是 java.io.File 类
这个类代表一个文件或目录的抽象路径名,可以通过它实现文件或目录的创建、删除、重命名等操作,还可以获取文件或目录的各种属性。

  • File类构造方法
File file = new File("test.txt"); // 根据路径名创建

File dir = new File("C:\\data\\temp"); // 根据路径名创建目录

File parentDir = new File("C:\\data"); // 父目录

File childFile = new File(parentDir, "test.txt"); // 根据父目录和子路径名创建
  • File类方法
file.getName(); // 获取文件名,返回 test.txt
file.getPath(); // 获取文件路径,返回 test.txt
file.getAbsolutePath(); // 获取文件的绝对路径,返回 C:\data\temp\test.txt
file.getParent(); // 获取文件的父路径,返回 C:\data\temp
file.length(); // 获取文件长度,返回文件字节数
file.lastModified(); // 获取文件最后修改时间,返回时间戳
file.exists(); // 判断文件是否存在,返回 true 或 false
file.isDirectory(); // 判断是否是目录,返回 true 或 false
file.isFile(); // 判断是否是文件,返回 true 或 false
file.canRead(); // 判断是否可读,返回 true 或 false
file.canWrite(); // 判断是否可写,返回 true 或 false
file.isHidden(); // 判断是否隐藏,返回 true 或 false


file.createNewFile(); // 创建一个新文件
dir.mkdir(); // 创建一个新目录
file.delete(); // 删除文件或目录
file.renameTo(new File("new_test.txt")); // 重命名文件或目录

java的流stream、文件file和io

一个目录其实就是一个 File 对象,它包含其他文件和文件夹

三、读取/写入一个纯文本的文件

1、选择IO流,创建IO对象
FileWriter fw =new FileWriter  
FileReader fr = new ileReader 
2、读写操作
fw.witer() // 将数据写入io流
fr.read() // 从io流中读取数据

3、关闭IO流,释放资源
fw.flose()

你可能感兴趣的:(java基础,java,开发语言)