您的当前位置:首页正文

Java 字符流(2)

2024-11-30 来源:个人技术集锦

1.字节流

FileInputStream(String name)

 

FileOutputStream(String name)

 

2.字节缓冲流

BufferedInputStream(String name)

 

BufferedOutputStream(String name)

 

3.字符流

InputStreamReader(FileInputStream())

 

OutputStreamWriter(FileOutputStream(),String Charest)

 

4.字符缓冲流

BuffferedReader(Reader in)

 

BufferedWriter(Writer in)

 

5.读写二进制数据

DataInputStream()

DateOutputStream()

6.对象序列化

输出:new ObjectOutputStream(new FileOutPutStream())  方法:writeObject()

读入:new ObjectInputStream(new FileInPutStream()) 

实现接口Serializable(标记接口)的类可以序列化

将域标记为transient 可以避免该域被序列化,读入时将给出默认值,0或null

序列化的类要设置static final  long serializable字段

7.操作文件(Path和Files类)

使用Paths类中的 static Path get(.....)获得一个path对象

Files类 

复制文件Files.copy(from path,to path)类似的等等方法.....见API文档

8.访问目录中的项

使用Files.newDirectoryStream对象 它会产生一个DirectoryStream

eg:   DirectoryStream<Path> entries = Files.newDirectorySTream(dir)

也可使用walkFileTree(似乎更成熟) 与FileVisitor有关

或者使用File类以及递归方法来进行遍历:

public static void Show(File file){
    for(var fe : file.listFiles()){
        if(fe.isDirectory()){
            Show(fe);
        }else{
            System.out.println(fe.getAbsolutePath());
        }
    }
}
显示全文