Java(28):IO

IO(输入输出)来读取和写入,把数据写入内存是输入流,把数据从内存中读取出来是输出流

IO:根据处理的数据类型可分为字节流字符流

1.字节流可以处理所有数据类型的数据,在java中以Stream结尾

2.字符流处理文本数据,在java中以Reader和Writer结尾

1.文件的基本操作

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

public class IOTest {
    
    public static void main(String[] args) {
        
//        创建一个文件路径
        File file = new File("D:\IOTest\testData.txt");
        if (file.exists()) {
//            得到文件的路径
            System.out.println(file.getAbsolutePath());
//            得到文件的大小
            System.out.println(file.length());
        }
        
//        创建文件
        File file1 = new File("d:\IOTest\iotest.txt");
        if (!file1.exists()) {
            try {
                file1.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }else {
            System.out.println("文件已存在");
        }
        
//        创建文件夹
        File file2 = new File("d:\IOTest\createFile");
        if (file2.isDirectory()) {
            System.out.println("文件夹已存在");
        }else {
            file2.mkdir();
        }
        
//        列出文件夹下所有文件
        File file3 = new File("d:\IOTest");
        if (file3.isDirectory()) {
            File lists[] = file3.listFiles();
            for (int i=0; i<lists.length; i++) {
                System.out.println(lists[i].getName());
            }
        }
        
        System.out.println("Main end.");
        
    }
    
}

2.1 字节流 FileInputstream

import java.io.FileInputStream;

public class IOTest2 {

    public static void main(String[] args) {
        
        FileInputStream fis = null;
        
        try {
            fis = new FileInputStream("d:\IOTest\testData.txt");
//            定义一个数组,相当于缓存
            byte bytes[] = new byte[1024];
            int n = 0;
            while ((n = fis.read(bytes)) != -1) {
//                System.out.println(n);
                String str = new String(bytes, 0, n);
                System.out.print(str);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                fis.close();
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
        
    }
    
}

2.2 字节流 FileOutputStream

import java.io.FileNotFoundException;
import java.io.FileOutputStream;


public class IOTest3 {

    public static void main(String[] args) throws FileNotFoundException {
        
        FileOutputStream fos = null;
        
        try {
            fos = new FileOutputStream("d:\IOTest\testData.txt");
            String str = "hello!!!";
            byte bytes[] = str.getBytes();
            fos.write(bytes);
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                fos.close();
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
        
    }
    
}

参考:https://www.cnblogs.com/dreamyu/p/6551137.html

原文地址:https://www.cnblogs.com/kenantongxue/p/14077366.html