- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
当执行上述程序,对Unix.dat文件进行读取并转换保存为win.dat后,再用记事本打开,显示效果如下图所示: PipedWriter PipedWriter为管道字符输出流类,它必须与相应的PipedReader一起工作,共同实现管道式输入输出。 12.5 文件12.5.1 File类 与java.io包定义的其他输入输出类不同的是,File类直接处理文件和文件系统本身,也就是说File类并不关心怎样从文件读取数据流或向文件存储数据流,它主要用来描述文件或目录的自身属性。 通过创建File类对象,我们可以处理和获取与文件相关的信息,比如文件名、相对路径、绝对路径、上级目录、是否存在、是否是目录、可读、可写、上次修改时间和文件长度等。 此外,当File对象为目录时,还可以列举出它的文件和子目录。 一个File类对象被创建后,它的内容就不能再改变了,要想改变(即进行文件读写操作)就必须利用前面介绍过的强大I/O流类对其进行包装或者使用后面即将介绍的RandomAccessFile类。 总之,对于Java语言,不管是文件还是目录都用File类来表示。 【例 12-13】File类示例程序。 import java.io.*; import java.util.*; public class TestFile { public static void main(String[] args) { try { File f = new File(args[0]); if(f.isFile()) { // 是否是文件 System.out.println(该文件属性如下所示:); System.out.println(文件名- +f.getName()); System.out.println(f.isHidden()? -隐藏 : -没隐藏); System.out.println(f.canRead() ? -可读 : -不可读 ); System.out.println(f.canWrite() ? -可写 : -不可写 ); System.out.println(大小- +f.length() + 字节); System.out.println(最后修改时间- +new Date(f.lastModified())); } else { // 列出所有的文件和子目录 File[] fs = f.listFiles(); ArrayList fileList = new ArrayList(); for(int i = 0; i fs.length; i++) { // 先列出文件 if(fs[i].isFile()) //是否是文件 System.out.println( +fs[i].getName()); else // 子目录存入fileList,后面再列出 fileList.add(fs[i]); } // 列出子目录 for(int i=0;ifileList.size();i++) { f = (File)fileList.get(i); System.out.println(DIR +f.getName()); } System.out.println(); } } catch(ArrayIndexOutOfBoundsException e) { System.out.println(e.toString()); } } } 12.5.2 RandomAccessFile类 上述File类不能进行文件读写操作,必须通过其他类来提供该功能,RandomAccessFile类就是其中之一。 RandomAccessFile类与前面介绍过的文件输入输出流类相比,其文件存取方式更灵活,它支持文件的随机存取(Random Access):在文件中可以任意移动读取位置。 RandomAccessFile类
文档评论(0)