麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Java中對文件的讀寫操作之比較

2019-11-18 13:58:09
字體:
供稿:網(wǎng)友

  java 中對文件的讀寫操作之比較 

Java 對文件進(jìn)行讀寫操作的例子很多,讓初學(xué)者感到十分困惑,我覺得有必要將各種方法進(jìn)行 
一次分析,歸類,理清不同方法之間的異同點(diǎn)。 

一.在 JDK 1.0 中,通常是用 InputStream & OutputStream 這兩個(gè)基類來進(jìn)行讀寫操作的。 
InputStream 中的 FileInputStream 類似一個(gè)文件句柄,通過它來對文件進(jìn)行操作,類似的,在 
OutputStream 中我們有 FileOutputStream 這個(gè)對象。 

用FileInputStream 來讀取數(shù)據(jù)的常用方法是: 
FileInputStream fstream = new FileInputStream(args[0]); 
DataInputStream in = new DataInputStream(fstream); 
用 in.readLine() 來得到數(shù)據(jù),然后用 in.close() 關(guān)閉輸入流。 
完整代碼見 Example 1。 

用FileOutputStream 來寫入數(shù)據(jù)的常用方法是: 
FileOutputStream out out = new FileOutputStream("myfile.txt"); 
PRintStream p = new PrintStream( out ); 
用 p.println() 來寫入數(shù)據(jù),然后用 p.close() 關(guān)閉輸入。 
完整代碼見 Example 2。 


二.在 JDK 1.1中,支持兩個(gè)新的對象 Reader & Writer, 它們只能用來對文本文件進(jìn)行操作,而 
JDK1.1中的 InputStream & OutputStream 可以對文本文件或二進(jìn)制文件進(jìn)行操作。 

用FileReader 來讀取文件的常用方法是: 
FileReader fr = new FileReader("mydata.txt"); 
BufferedReader br = new BufferedReader(fr); 
用 br.readLing() 來讀出數(shù)據(jù),然后用br.close() 關(guān)閉緩存,用fr.close() 關(guān)閉文件。 
完整代碼見 Example 3。 

用 FileWriter 來寫入文件的常用方法是: 
FileWriter fw = new FileWriter("mydata.txt"); 
PrintWriter out = new PrintWriter(fw); 
在用out.print 或 out.println 來往文件中寫入數(shù)據(jù),out.print 和 out.println的唯一區(qū)別是后者寫 
入數(shù)據(jù)或會自動開一新行。寫完后要記得 用out.close() 關(guān)閉輸出,用fw.close() 關(guān)閉文件。 
完整代碼見 Example 4。 

-------------------------------------------------------------- following is the source code of examples------------------------------------------------------ 

Example 1: 
// FileInputDemo 
// Demonstrates FileInputStream and DataInputStream 
import java.io.*; 

class FileInputDemo { 
public static void main(String args[]) { 
// args.length is equivalent to argc in C 
if (args.length == 1) { 
try { 
// Open the file that is the first command line parameter 
FileInputStream fstream = new FileInputStream(args[0]); 
// Convert our input stream to a DataInputStream 
DataInputStream in = new DataInputStream(fstream); 
// Continue to read lines while there are still some left to read 
while (in.available() !=0) { 
// Print file line to screen 
System.out.println (in.readLine()); 

in.close(); 
} catch (Exception e) { 
System.err.println("File input error"); 


else 
System.out.println("Invalid parameters"); 



Example 2: 
// FileOutputDemo 
// Demonstration of FileOutputStream and PrintStream classes 
import java.io.*; 

class FileOutputDemo 

public static void main(String args[]) { 
FileOutputStream out; // declare a file output object 
PrintStream p; // declare a print stream object 

try { 
// connected to "myfile.txt" 
out = new FileOutputStream("myfile.txt"); 
// Connect print stream to the output stream 
p = 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 file 
import 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 file 
import 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(); 





發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 一级做a爱片性色毛片 | 九九精品在线观看视频 | 国产精品视频一区二区三区四 | 欧美日韩在线视频一区 | 国产午夜精品理论片a级探花 | 一级黄色淫片 | 久久国精品 | 日本欧美在线播放 | av在线日韩 | 亚洲精品无码不卡在线播放he | www.com香蕉 | 日韩黄色一级视频 | 中国免费黄色 | 青草av.久久免费一区 | 国产超碰人人做人人爱ⅴa 国产精品久久久久久久hd | 青青操国产 | 久久人人做 | 国产日韩久久久久69影院 | 永久免费黄色大片 | h色网站免费观看 | 久久精品亚洲欧美日韩精品中文字幕 | 精久久久| 欧美视频在线一区二区三区 | 91一区二区在线观看 | 精品一区二区三区免费毛片 | 久草视频国产在线 | 日本在线不卡一区二区三区 | 成人勉费视频 | 欧美在线观看视频网站 | 黄色毛片a级 | 九一传媒在线观看 | 一区二区三区黄色 | 国产成人精品无人区一区 | 亚洲午夜在线观看 | 一区二区三区手机在线观看 | 精选久久 | 九色p| 88xx成人永久免费观看 | 综合在线一区 | 午夜亚洲视频 | 黄色网址你懂的 |