zoukankan      html  css  js  c++  java
  • io学习四

    File##

    java 中的file 类提供以下能力:

    • 检测文件是否存在
    • 读取文件长度
    • 重命名或移动文件
    • 删除文件
    • 检测某个路径是文件还是目录
    • 读取目录中的文件列表

    重命名或移动文件
    通过调用File类中的renameTo()方法可以重命名(或者移动)文件,代码如下:

    File file = new File("c:\data\input-file.txt");
    
    boolean success = file.renameTo(new File("c:\data\new-file.txt"));
    

    当你获得一个File对象之后,可以检测相应的文件是否存在。当文件不存在的时候,构造函数并不会执行失败。

    删除文件
    通过调用delete()方法可以删除文件,代码如下:

    File file = new File("c:\data\input-file.txt");
    boolean success = file.delete();
    

    delete()方法与rename()方法一样,返回布尔值表明是否成功删除文件,同样也会有相同的操作失败原因。
    这里我只写了我不常用的 详情:http://ifeve.com/java-io-file/

    FilterInputStream##

    package filter;
    
    public class filter {
    	public static void main(String[] args) {
    		// FilterInputStream filterInputStream=new FilterInputStream(new FileInputStream(""));
    		// 这一句报错的原因是 FilterInputStream 的构造方法是 protected 修饰的
    	}
    }
    

    BufferInputStream##

    package buffer;
    
    import java.io.BufferedInputStream;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    
    public class Example {
    	public static void main(String[] args) throws FileNotFoundException {
    		BufferedInputStream bip = new BufferedInputStream(new FileInputStream("randomfile"), 8 * 1024);
    		// 可以自己设置 buffer缓冲区的大小
    		// bip.read() 函数其实不是一次一次去原文件去读的,其实是在缓冲区的 buf[] 数组去读的,
    		// 当读地点标志pos大于了 缓冲器已经读取的数组的标记 它会调用fill 函数 又去填充buf[] 数组
    	}
    }
    
    

    序列化io##

    package object;
    
    import java.io.FileOutputStream;
    import java.io.ObjectOutputStream;
    
    public class Example {
    	public static void main(String[] args) throws Exception {
    		ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("object.out"));
    		oos.writeObject(new String("testObject"));
    		oos.writeInt(2);
    		oos.writeLong(23l);
    		oos.close();
    	}
    }
    

    oos.close(); 一定要调用close方法 将缓冲区的数据刷新进入 硬盘,不然会得到莫名的Exception

    package object;
    
    import java.io.FileInputStream;
    import java.io.ObjectInputStream;
    
    public class Example2 {
    	public static void main(String[] args) throws Exception {
    		ObjectInputStream ois = new ObjectInputStream(new FileInputStream("object.out"));
    		System.out.println((String) ois.readObject());
    		System.out.println(ois.readInt());
    		System.out.println(ois.readLong());
    	}
    }
    
    testObject
    2
    23
    
  • 相关阅读:
    2019CSP-S总结(复赛)
    2019.11.10【NOIP提高组】模拟 A 组 总结
    2019.11.09【NOIP提高组】模拟 A 组 总结
    2019.11.08晚【NOIP提高组】模拟 A 组 总结
    2019.11.02【NOIP提高组】模拟 A 组 总结
    2019.10.25【NOIP提高组】模拟 A 组 总结
    2019.10.26【NOIP提高组】模拟 A 组 总结
    C++学习之模板特例化
    C++学习之可变参数的函数与模板
    C++学习之函数模板与类模板
  • 原文地址:https://www.cnblogs.com/joeCqupt/p/6883208.html
Copyright © 2011-2022 走看看