|
真爱的事业和真正的爱情一生只有一次,都值得我们温柔地相待,因为那种感觉是永远都无法复制的, 这世界真正属于你的东西其实并不多,你不好好珍惜,它便会离你而去,包括机遇,包括爱情,包括生命。 不要找任何理由, 当幸福在你身边的时候就抓住它,你就一定会很幸福! |
时 间 记 忆 |
« | October 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | |
|
blog名称:玻璃杯中的花生壳 日志总数:162 评论数量:249 留言数量:1 访问次数:829626 建立时间:2004年11月4日 |
 | | |
|
|
Java 对文件进行读写操作的例子很多,让初学者感到十分困惑,我觉得有必要将各种方法进行一次分析,归类,理清不同方法之间的异同点。一.在 JDK 1.0 中,通常是用 InputStream & OutputStream 这两个基类来进行读写操作的。InputStream 中的 FileInputStream 类似一个文件句柄,通过它来对文件进行操作,类似的,在OutputStream 中我们有 FileOutputStream 这个对象。用FileInputStream 来读取数据的常用方法是:FileInputStream fstream = new FileInputStream(args[0]);DataInputStream in = new DataInputStream(fstream);用 in.readLine() 来得到数据,然后用 in.close() 关闭输入流。完整代码见 Example 1。用FileOutputStream 来写入数据的常用方法是:FileOutputStream out out = new FileOutputStream("myfile.txt");PrintStream p = new PrintStream( out );用 p.println() 来写入数据,然后用 p.close() 关闭输入。完整代码见 Example 2。二.在 JDK 1.1中,支持两个新的对象 Reader & Writer, 它们只能用来对文本文件进行操作,而JDK1.1中的 InputStream & OutputStream 可以对文本文件或二进制文件进行操作。用FileReader 来读取文件的常用方法是:FileReader fr = new FileReader("mydata.txt");BufferedReader br = new BufferedReader(fr);用 br.readLing() 来读出数据,然后用br.close() 关闭缓存,用fr.close() 关闭文件。完整代码见 Example 3。用 FileWriter 来写入文件的常用方法是:FileWriter fw = new FileWriter("mydata.txt");PrintWriter out = new PrintWriter(fw);在用out.print 或 out.println 来往文件中写入数据,out.print 和 out.println的唯一区别是后者写入数据或会自动开一新行。写完后要记得 用out.close() 关闭输出,用fw.close() 关闭文件。完整代码见 Example 4。-------------------------------------------------------------- following is the source code of examples------------------------------------------------------Example 1:// FileInputDemo// Demonstrates FileInputStream and DataInputStreamimport java.io.*;class FileInputDemo {public static void main(String args[]) {// args.length is equivalent to argc in Cif (args.length == 1) {try {// Open the file that is the first command line parameterFileInputStream fstream = new FileInputStream(args[0]);// Convert our input stream to a DataInputStreamDataInputStream in = new DataInputStream(fstream);// Continue to read lines while there are still some left to readwhile (in.available() !=0) {// Print file line to screenSystem.out.println (in.readLine());}in.close();} catch (Exception e) {System.err.println("File input error");}}elseSystem.out.println("Invalid parameters");}}Example 2:// FileOutputDemo// Demonstration of FileOutputStream and PrintStream classesimport java.io.*;class FileOutputDemo{public static void main(String args[]) {FileOutputStream out; // declare a file output objectPrintStream p; // declare a print stream objecttry {// connected to "myfile.txt"out = new FileOutputStream("myfile.txt");// Connect print stream to the output streamp = new PrintStream( out );p.println ("This is written to a file");p.close();} catch (Exception e) {System.err.println ("Error writing to file");}}}Example 3:// FileReadTest.java// User FileReader in JDK1.1 to read a fileimport java.io.*;class FileReadTest {public static void main (String[] args) {FileReadTest t = new FileReadTest();t.readMyFile();}void readMyFile() {String record = null;int recCount = 0;try {FileReader fr = new FileReader("mydata.txt");BufferedReader br = new BufferedReader(fr);record = new String();while ((record = br.readLine()) != null) {recCount++;System.out.println(recCount + ": " + record);}br.close();fr.close();} catch (IOException e) {System.out.println("Uh oh, got an IOException error!");e.printStackTrace();}}}Example 4:// FileWriteTest.java// User FileWriter in JDK1.1 to writer a fileimport java.io.*;class FileWriteTest {public static void main (String[] args) {FileWriteTest t = new FileWriteTest();t.WriteMyFile();}void WriteMyFile() {try {FileWriter fw = new FileWriter("mydata.txt");PrintWriter out = new PrintWriter(fw);out.print(“hi,this will be wirte into the file!”);out.close();fw.close();} catch (IOException e) {System.out.println("Uh oh, got an IOException error!");e.printStackTrace();}}} |
|
| | |
|