JAVA File
基于标记的文件处理:
一个标记接着一个标记(例如:一个字一个字或者一个数组一个数字)的分析输入内容 的处理方法。
文件路径:
对文件在计算机上存储的位置的一种描述,一般从某个盘符开始,包括从根目录到达文件所在目录所需要经过所有目录的名称。
当前目录(也称作工作目录):
当处理只有文件名没有路径信息的文件时,JAVA默认文件所在的那个目录。
基于行的文件处理
以行为单位处理输入文件文件的内容(即就是:一次读取一整行,然后理)。
实际中很多问题都需要同时用到基于行和基于标记的处理方法。
注意:在使用基于行的文件处理是,文件的内容按原样输出,如果基于标记的文件处理方式,每行内的空格也会被忽略,因为Scanner在读取标记时会自动跳过空白字符。
高级文件处理
高级文件处理有两个主题:第一,文件的输出;第二,使用try/catch语句处理出错 情况。
在sun的JAVA文档中:
- java.io
- 类 PrintStream
- java.lang.Object
- java.io.OutputStream
- java.io.FilterOutputStream
- java.io.PrintStream
PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。它还提供其他两项功能。与其他输出流不同,PrintStream 永远不会抛出 IOException;而是,异常情况仅设置可通过 checkError 方法测试的内部标志。另外,为了自动刷新,可以创建一个 PrintStream;这意味着可在写入 byte 数组之后自动调用 flush 方法,可调用其中一个 println 方法,或写入一个换行符或字节 ('\n')。
System.out是一个变量,其中保存的是对PrintStream对象的引用,print和println语句
都是在调用PrintStream类的方法。变量System.out保存的是一个绑定到控制台窗口的
特殊PrintStream对象的引用。
由此可知:通过创建其它的PrintStream对象,可以让它输出到其他地方。
PrintStream output=new PrintStream(new File("Result.dat"));
计算机执行的过程是:如果指定的输出文件不存在,程序会自动创建,如果指定的 输出文件存在,会删除原有的内容然后重写新的内容。开始时文件中没有内容,随后在调用print println方法会将输出的内容写到这个文件中。
在JAVA中用File对象代表一个文件,File类包含在java.io包中
Scanner对象可以从文件中读取内容,前提是创建Scanner对象的构造函数用”new File(FileName)“作为参数
可控式异常是在程序执行过程中遇到的一种错误,对于这种错误,程序必须有捕捉处理它的 代码或显示声明要忽略它才能通过编译。例如:常见读取文件内容的Scanner对象时,就必须 在main方法的头部添加throws FileNotFoundException语句。
Scanner对象将输入文件视作一维数据流,按照从前向后的顺序操作。
每一次从文件中读取一 个标记,输入指针就向前移动。
用于读取文件内容的Scanner对象使用一系列hasNext方法来检测是否还有更多的内容可读。
Scanner对象可以作为参数传递给其他方法(引用传递),在这些方法内部就可以利用 Scanner对象读取文件内容。
基于行处理和标记处理文件的方法:
很多文件结构是一行为单位,所以程序也应该可以逐行处理文件内容。处理这样的情况, 经常会使用的嵌套循环,外层循环负责读取一行内容,内层循环负责处理每一行内容中的不 同标记。
JAVA提供了一种try/catch语句用来检查并处理程序运行过程中发生的错误。try/catch语句 可以用来处理找不到要打开的指定文件的问题。
本文转自 secondriver 51CTO博客,原文链接:http://blog.51cto.com/aiilive/838560,如需转载请自行联系原作者