JAVA之文件操作(I/O)

文件操作也是非常常用的,这个也不是特别熟悉,那就找些常见的东西来看看吧。

文件操作无外乎就是读和写,但是这里面的方法方式又有很多种。主要是从文件格式,文件的存储介质方面来看的。文件是一种持久存储的方式,要查找一个文件,就要找到其相对应的路径,而路径又分为相对路径和绝对路径,绝对路径就是指文件的完整路径,相对路径是部分路径(当前路径下的子路径)。

File类有四个构造方法:
File(File parent, String child) 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
File(String parent, String child) 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
File(URI uri) 通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。
File类下有很多常用的方法,可以查看API,如:
createNewFile/delete/exists/getAbsolutePath/getName/getParent/isDirectory/isFile/length/list/listFiles/mkdirs/renameTo/setReadOnly等等。

读取文件:
将文件的数据读入程序,是将程序外部的数据传入程序中,应该使用输入流—-InputStream/Reader,而由于读取的是特定的数据源(文件),则可以使用对应的子类FileInputStream/FileReader。使用输入流一般分为3个步骤:1.创建流对象2.读取流对象内部的数据3.关闭流对象。

文件输出流—–OutputStream/Writer,对应的子类为FileOutputStream/FileWriter。

还有个问题,本来应该是最先提出来的,就是字符流和字节流的区别,Java中哪几个类/接口是操作字节/字符流的?
字节流和字符流的主要区别:
1.字节流在操作的时候不会用到缓存区(内存),是直接对文件本身进行操作的,而字符流是通过缓存区来对文件进行操作的;
2.在硬盘上的所有文件都是以字节形式存在的,而字符值在内存中才会形成。具体可以参考 http://java-mzd.iteye.com/blog/801698
http://blog.csdn.net/cynhafa/article/details/6882061

其他问题:
StringBuilder、StringBuffer和String三者的联系和区别
序列化/反序列化
深/浅clone等等

参考:
http://www.cnblogs.com/springcsc/archive/2009/12/03/1616367.html

http://uujava0322.iteye.com/blog/1045876

http://www.cnblogs.com/zhuocheng/archive/2011/12/12/2285290.html

http://blog.csdn.net/jiangxinyu/article/details/7885518

http://blog.chinaunix.net/uid-20779975-id-1845358.html

http://www.open-open.com/lib/view/open1415448427183.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值