如何掌握java的IO流

发布时间:2021-10-12 15:04:01 作者:iii
来源:亿速云 阅读:85

这篇文章主要介绍“如何掌握java的IO流”,在日常操作中,相信很多人在如何掌握java的IO流问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何掌握java的IO流”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

文件API

Q: File类可以用来做目录操作吗?

A:可以。

File对象本身可以是目录。调用file.mkdirs()即可创建目录。

Q:直接调用file.delete()可以删除目录吗?

A:如果是文件或者空目录,可以直接删除。

但如果目录中有文件或者子目录,则必须递归删除。

    private static boolean deleteDir(File dir) {
        if (dir.isDirectory()) {
            String[] children = dir.list();
       //递归删除目录中的子目录下
            for (int i=0; i<children.length; i++) {
                boolean success = deleteDir(new File(dir, children[i]));
                if (!success) {
                    return false;
                }
            }
        }
        // 目录此时为空,可以删除
        return dir.delete();
    }

Q: 有哪些方法判断给定路径下文件是否存在?

A:

1.File类的exists方法: file.exist(string)

File testFile = new File(testFilePath);
if(!testFile .exists()) {...}

2.File类的静态exist方法, File.exist(Path path)

Path filePath = Paths.get(testFilePath);
if (Files.exists(filePath) {...}

注意静态方法和非静态方法的区别

字节输入流InputStream

说一下以下这些特点对应哪些Input Stream类

Q: FilterInputStream是什么?

A: 用于装饰上面这些输入流的,可以叠加,每装饰一层就相当于增加了1个功能。

InputStream inputStream = new FilterInputStream(InputStream)

以下这些特点分别对应哪些FilterInputStream?

字节输出流OutputStream

OutputStream包含
ByteArrayOutputStream 输出到缓冲区
FileOutputStream 写到文件
PipedOutputStream 写入管道
FilterOutputStream

而FilterOutputStream 包含

FileOutputStream相关
Q:new FileOutputStream(name, true),这个构造里的true参数是做什么用的?

A:是否支持在文件末追加的意思。

如何掌握java的IO流

默认是false,指的是覆盖整个文本。

如果设置成true,会在要写入的文件后面追加本次写入的内容。

Q:

BufferOutputStream相关概念(其实是考缓冲区是否需要刷新之类的问题)

A:

如何掌握java的IO流

如何掌握java的IO流

Reader和Writer

Q: Reader/Writer和InputStream/OutputStream的区别?
A:

设置编码:

InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "UTF-8");  
BufferedReader read = new BufferedReader(isr);

序列化问题

Q: 对某对象进行序列化时, 如何让里面某个敏感成员不被序列化?
A:

Q: Externalizable和Serializable哪个快?
A: Externalizable更快。

Q: Externalizable需要产生序列化ID吗?

A: 采用Externalizable无需产生序列化ID(serialVersionUID)~而Serializable接口则需要

到此,关于“如何掌握java的IO流”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. Java各种IO流的总结
  2. java中的IO流

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:PostgreSql备份中pg_probackup的优势以及用法

下一篇:MySQL Cost中怎么优化语句

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》