原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处 、作者信息和本声明。否则将追究法律责任。
http://xhinker.blog.51cto.com/640011/134213
java的i/o恐怕是java体系里最复杂的内容之一了,有时候这个之一可以去了。不像c语言一个fopen()就可以解决一大堆问题。到了java呢,又是stream又是reader,读一个文件的方式不下十种,造成很多人因此而放弃了java,当初刚学java的时候班里很多人都对java有很高的热情,可到了现在,不知道还有多少人坚持下来了。具有讽刺意味的事javai/o的设计者的初衷是让i/o变得简单一点,哪知道若干年后,弄出这么一大摊子来。现在又加了一个nio----就是newio,不知道日后还会弄出什么东西来。
<wbr></wbr>
用i/o可以解决文件,网络通讯等几乎所io问题。功能强大,唯一的缺点就是复杂。但仔细一分析,还是有门路可走的。整个io体系主要分为两大门派。一派为流类也就是用于字节的InputStream和OutputStream,另一派为用于字符的Reader和Writer派(简称rw派)。认清了这两派就知道*Stream的东东全都是流派的,不是继承而来就是通过实现接口而来。如此,*Reader,*Writer那就是出身于rw派了。还有一个File派来处理文件创建,删除,修改,属性问题。对文件的内容进行操作不是他的工作。搞清楚这两大派一小派那么解决io指日可待。
<wbr></wbr>
那么说了这么多怎么创建文件呢?举例说明(主函数就不写了)
File newfile = new File("text.txt");
newfile.createNewFile();
这样就在同一个文件夹下创建了一个名为text.txt的文本文件,那枚怎么删除呢?
File newfile = new File("text.txt");
newfile.delete();
这样就把这个文件删除了。是不是很简单呢。那么怎么把文件写入这个文本文件呢?
File writetext = new File("text.txt");
[readtext.createNewFile();]//可有可无,因为文件不存在的话,会自动创建
FileWriter fw = new FileWriter(writetext);//就像创建打印机
PrintWriter pw = new PrintWriter(fw);//这个呢打印针头了。
FileWriter fw = new FileWriter(writetext);//就像创建打印机
PrintWriter pw = new PrintWriter(fw);//这个呢打印针头了。
pw.println("this is a new file forread");//这个是说,把这些东西给我写进去吧
fw.close();//然后关闭打印机
有点复杂,当懂了以后,也就感觉不到什么了,那么如何读取这个文本文件呢?
File readtext = new File("text.txt");
FileReader fr = new FileReaer(readtext);//创建一个扫描仪
BufferedReader br = newBufferedReader(fr);//这是扫描仪内的缓存
String content =br.readLine();<wbr>//读一行文本</wbr>
<wbr></wbr>
用熟练了之后可以这么写:
BufferedReader in = new BufferedReader(newFileReader("text.txt");
String content="";
while((content=in.readLine())!=null){
<wbr><wbr><wbr><wbr>System.out.println(content);//读一行输出一行</wbr></wbr></wbr></wbr>
}
<wbr></wbr>
要特别注意的是,我为了不搞得太复杂,把异常处理都去掉了,如果你用netbeans的话,点几下小灯泡,就加上异常处理语句,至于用原始工具的话,那就需要辛苦一下了。
这里介绍的知识io世界里的一种方法,当时当你掌握了门道之后,其他的东西也就迎刃而解了,祝你好运!
本文出自 “Xhinker” 博客,请务必保留此出处http://xhinker.blog.51cto.com/640011/134213