今天在JAVA编程思想中看了I/O的类操作,自己试了试里面的题目,哎,好多不懂啊,对文件的操作基本不会.
在网上找了找,现在明白了一点点,对文件的操作,即读和写.这很好理解.
把它想具体点就是怎么把东西存入文件中,又怎么把文件中的东西取出来.
自己用了两个类.BufferReader and BufferWriter
.这两个类可以完成我们想要的操作.我现在也只能这样学了,哎.没有系统的学习.
看一个例子,编写一个Java程序,打开一个文本文件,一次读取其内的一行文本。令每一行形成以String,并将读出的String对象置于Linklist中,然后以相反次序打印出Linklist内的所有文本行[java编程思想page540练习7]
要怎么做呢?
import
java.io.BufferedReader; import java.io.BufferedWriter; import
java.io.File; import java.io.FileNotFoundException; import
java.io.FileReader; import java.io.FileWriter; import
java.io.IOException; import java.util.LinkedList; import
java.util.List; public class TestIO { private
List strList= new
LinkedList();
//读取文件,并放入一个LinkedList中. public void input() { try { BufferedReader
reader = new BufferedReader(new FileReader(new
File("E:\\myworks2\\MyJavaProject\\MyFolder\\helloworld")));
while(true) { try { String s = reader.readLine(); if(s==null) {
break; } strList.add(s); } catch (IOException e) {
e.printStackTrace(); } } } catch (FileNotFoundException e) {
e.printStackTrace(); } } public
List getList() { return
this.strList; } public static void main(String[] args) { TestIO
testIO = new TestIO(); testIO.input();
List oList =
testIO.getList(); //为什么减1,因为java是从零开始算的,list.size()=22 是0~21 ; for
(int i =oList.size()-1; i>=0; i--) {
System.out.println(oList.get(i)); } try {
//用BufferedWriter把读出来的东西写入到另一个文件中. BufferedWriter writer = new
BufferedWriter(new FileWriter(new
File("E:\\myworks2\\MyJavaProject\\MyFolder\\helloworld2"))); for
(int i = 0; i
writer.append(oList.get(i)); writer.newLine();//启一新行 }
writer.flush(); } catch (IOException e) { // TODO Auto-generated
catch block e.printStackTrace(); } } }
这里要注意正则"\"是一个转意符