zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    PAT(乙级)2020年冬季考试
    Educational Codeforces Round 105 (Rated for Div. 2)【ABC】
    三省吾身
    初识SpringBoot
    Controller 层中,到底是 返回界面 还是JSON?(转)
    IDEA控制台中文乱码解决
    springboot引入外部依赖jar包(转)
    Java7的try-with-resources声明(转)
    Java对象的序列化和反序列化(转)
    AcWing1303. 斐波那契前 n 项和(递推/矩阵快速幂)
  • 原文地址:https://www.cnblogs.com/kenantongxue/p/14077366.html
Copyright © 2011-2022 走看看