第一篇:Java中輸出流
從輸入流中當(dāng)前位置讀入一個(gè)字節(jié)的二進(jìn)制數(shù)據(jù),以此數(shù)據(jù)為低位字節(jié),補(bǔ)足16位的整型量(0~255)后返回,若輸入流中當(dāng)前位置沒(méi)有數(shù)據(jù),則返回-1
int read(byte b[])
在數(shù)組中,并返回所讀取的字節(jié)數(shù)
寫(xiě)入文件的PipedOutputStream
輸出管道
FilterOutputStream
過(guò)濾輸出流
ByteArrayOutputStream
寫(xiě)入字節(jié)數(shù)組的輸出流
ObjectOutputStream
對(duì)象的輸出流
DataOutputStream
包含寫(xiě)Java標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型方法的輸出流
BufferedOutputStream
緩沖輸出流
PrintStream
包含print()和println()的輸出流
OutputStream流類(lèi)中包含一套所有輸出都需要的方法,可以完成最基本的向輸出流寫(xiě)入數(shù)據(jù)的功能。表10-8列出了其中常用的方法及說(shuō)明。
表10-8 OutputStream的常用方法
方法
功能描述
void close()
關(guān)閉輸出流
void flush()
強(qiáng)制清空緩沖區(qū)并執(zhí)行向外設(shè)輸出數(shù)據(jù)
void write(int b)
將參數(shù)b的低位字節(jié)寫(xiě)入到輸出流
void write(byte b[])
按順序?qū)?shù)組b[]中的全部字節(jié)寫(xiě)入到輸出流
void write(byte b[], int off, int len)
按順序?qū)?shù)組b[]中第off+1個(gè)元素開(kāi)始的len個(gè)數(shù)據(jù)寫(xiě)入到輸出流
由于InputStream和OutputStream都是抽象類(lèi),所以在程序中創(chuàng)建的輸入流對(duì)象本溪娛樂(lè)棋牌q07i5.org一般是它們某個(gè)子類(lèi)的對(duì)象,通過(guò)調(diào)用對(duì)象繼承的read()和write()方法就可實(shí)現(xiàn)對(duì)相應(yīng)外設(shè)的輸入輸出操作。
第二篇:java 文件與輸入輸出流
實(shí)驗(yàn)2文件與輸入輸出流(1)
一、實(shí)驗(yàn)?zāi)康? 能夠使用File類(lèi)表示文件或目錄,獲取相關(guān)信息,并進(jìn)行文件操作; ? 能夠利用InputStream和OutputStream的子類(lèi)進(jìn)行字節(jié)讀、寫(xiě)操作,明白其優(yōu)點(diǎn)及不足;
? 能夠用FileInputStream和FileOutputStream進(jìn)行文件讀寫(xiě)的操作; ? 理解“逐層包裝”思想,能夠利用“數(shù)據(jù)流”(DataInputStream和DataOutputStream)包裝字節(jié)流,方便各類(lèi)數(shù)據(jù)的讀寫(xiě);
? 能夠利用“緩沖字節(jié)流”(BufferedInputStream和BufferedOutputStream)包裝字節(jié)流,加快數(shù)據(jù)的讀寫(xiě)速度;
? 熟知System.in和System.out是PrintStream的實(shí)例。
二、實(shí)驗(yàn)步驟
在Eclipse環(huán)境中導(dǎo)入項(xiàng)目“code(lab_2)”,然后按要求完成各小題:
1.打開(kāi)FileTest.java文件,請(qǐng)按下列要求進(jìn)行操作:
(1)按要求填充程序所缺代碼;
(2)程序的運(yùn)行需要用到一個(gè)命令行參數(shù),請(qǐng)分別用一個(gè)文件、目錄作參數(shù)來(lái)運(yùn)行程序,看一看結(jié)果有什么不同。
(在Eclipse中設(shè)置命令行參數(shù)方法:Run/Open Run Dialog ?/(x)=Arguments設(shè)置)
2.在上一題的基礎(chǔ)上,修改程序,使之具備輸出指定目錄下所有子目錄中文件絕對(duì)路徑名、大小的功能,如下所示:
子目錄:C:jdk1.6.0sample
子目錄:C:jdk1.6.0samplewebservices
子目錄:C:jdk1.6.0samplewebservicesEbayServer
文件: C:jdk1.6.0samplewebservicesEbayServerbuild.properties,大小: 512 字節(jié) 文件: C:jdk1.6.0samplewebservicesEbayServerbuild.xml,大小: 3168 字節(jié)1
……
提示:參考課件 FileSpace.java內(nèi)容,通過(guò)一個(gè)以“路徑名”為參數(shù)的靜態(tài)方法來(lái)實(shí)現(xiàn):該方法先判斷“路徑名”是一個(gè)文件,還是一個(gè)目錄?如果是文件,則輸出其絕對(duì)路徑和大??;若為一個(gè)目錄,則先顯示目錄絕對(duì)路徑,再列出該目錄下的所有子目錄和文件,通過(guò)循環(huán)和遞歸方法來(lái)執(zhí)行后續(xù)處理。
3.文件FileOutputStreamTest.java的功能是:利用FileOutputStream類(lèi)向myfile.txt文件寫(xiě)入'0'~'9'和“用字節(jié)流寫(xiě)入文件內(nèi)容”,請(qǐng)?zhí)畛涑绦蛩贝a,并運(yùn)行程序。然后打開(kāi)myfile.txt文件,查看其內(nèi)容是否與要求相符?
4.文件FileInputStreamTest1.java的功能是:利用FileInputStream類(lèi)以“逐字節(jié)”方式讀取myfile.txt文件內(nèi)容,并輸出。請(qǐng)?zhí)畛涑绦蛩贝a,并運(yùn)行程序。問(wèn)題:為什么程序輸出的內(nèi)容為亂碼?
5.在FileInputStreamTest1.java的基礎(chǔ)上,編寫(xiě)程序FileInputStreamTest2.java,利用FileInputStream類(lèi)以“字節(jié)數(shù)組”方式讀取myfile.txt文件內(nèi)容,能正確輸出,解決亂碼問(wèn)題。
思考題:亂碼問(wèn)題是怎樣解決的?
6.若要將信息“Java開(kāi)發(fā)典型模塊大全”(書(shū)名)、“明日科技”(作者)、79.5(價(jià)格)等信息以UTF、double類(lèi)型保存到文件books.txt中,請(qǐng)用“數(shù)據(jù)流”類(lèi)編程實(shí)現(xiàn)。
第三篇:java流實(shí)驗(yàn)內(nèi)容及代碼
實(shí)驗(yàn)7 流(2學(xué)時(shí))
一、實(shí)驗(yàn)?zāi)康?.熟悉流類(lèi)庫(kù)中各種常用流的使用方法。
2.能夠使用流類(lèi)實(shí)現(xiàn)基本的文件讀寫(xiě)。
二、實(shí)驗(yàn)內(nèi)容
1.編寫(xiě)程序,在控制臺(tái)窗口提示輸入兩個(gè)整數(shù),然后接收這兩個(gè)整數(shù),并輸出它們的和。(要求:鍵盤(pán)輸入通過(guò)流封裝System.in獲取,不要使用Scanner類(lèi))
import java.io.*;System.out.println(x);System.out.println(“y”);public class Num1 {n=in.readLine();public static void main(String []args)y=Integer.parseInt(n);{System.out.println(y);int x=0,y=0;}catch(IOException e)BufferedReader in=new BufferedReader({
newSystem.out.println(“error”);InputStreamReader(System.in));}
String n;int s=x+y;
try{System.out.println(s);System.out.println(“x”);}
n=in.readLine();}
x=Integer.parseInt(n);
2.設(shè)計(jì)學(xué)生類(lèi)Student,屬性:編號(hào)(整型);姓名(字符串),成績(jī)(整型)。編寫(xiě)一個(gè)程序:要求:(1)輸入3個(gè)學(xué)生的姓名和成績(jī),將其姓名和成績(jī)保存到data.txt中;(2)然后從該文件中讀取數(shù)據(jù),求得這三個(gè)學(xué)生的平均成績(jī)。
import java.io.*;DataOutputStream dout = newDataOutputStream(public class num2 {newpublic static void main(String[]args)FileOutputStream(“D:data.txt”));{String n;
BufferedReader in=new BufferedReader(for(int i=0;i<5;i++)new{
InputStreamReader(System.in));n=in.readLine();
int num=Integer.parseInt(n);try{String name=in.readLine();
n=in.readLine();int grade=Integer.parseInt(n);dout.writeBytes(num+“rn”);dout.writeBytes(name+“rn”);dout.writeBytes(grade+“rn”);}dout.close();}catch(IOException e1){int num=Integer.parseInt(n);
n=din.readLine();String name=n;n=din.readLine();int grade=Integer.parseInt(n);ave+=grade;}System.out.println(“平均成績(jī)”+ave*1.0/5);System.out.println(“文件寫(xiě)入失敗”);}try{DataInputStream din =new DataInputStream(new FileInputStream(“D:data.txt”));int ave=0;String n;for(int i=0;i<5;i++){n=din.readLine();
三、實(shí)驗(yàn)要求
完成程序設(shè)計(jì)并提交實(shí)驗(yàn)報(bào)告。
在“);失敗”);} }
}catch(FileNotFoundException e){System.out.println(“文件不存}catch(IOException e2){System.out.println(”文件讀取}
第四篇:實(shí)驗(yàn)12:Java高級(jí)IO流程序設(shè)計(jì)
實(shí)驗(yàn)12:Java高級(jí)I/O流程序設(shè)計(jì)
實(shí)驗(yàn)時(shí)間:實(shí)驗(yàn)地點(diǎn):
一、實(shí)驗(yàn)?zāi)康募耙?/p>
(1)掌握文件類(lèi)File的使用。
(2)理解隨機(jī)存取文件類(lèi)RandomAccessFile的使用。
二、實(shí)驗(yàn)設(shè)備環(huán)境及要求
三、實(shí)驗(yàn)任務(wù)
(1)按要求編寫(xiě)Java Application程序,并編譯、運(yùn)行這個(gè)程序。
四、實(shí)驗(yàn)內(nèi)容與步驟
1.輸出當(dāng)前目錄下my.txt文件的基本信息。
import java.io.*;
import java.util.*;
public class FileTest{
public static void main(String args[]){File f=new File(“my.txt”);System.out.println(“Absolute path: ” + f.getAbsolutePath()+“n Can read: ” + f.canRead()+“n Can write: ” + f.canWrite()+“n getName: ” + f.getName()+“n getParent: ” + f.getParent()+“n getPath: ” + f.getPath()+“n length: ” + f.length()+“n lastModified: ” + new Date(f.lastModified()));if(f.isFile())System.out.println(“It's a file”);
}}else if(f.isDirectory())System.out.println(“It's a directory”);
2.編寫(xiě)一個(gè)Java Application程序,實(shí)現(xiàn)如下的設(shè)計(jì)功能:運(yùn)行該程序可以列出當(dāng)前目錄下的文件。
import java.io.*;
class FileDir{
public static void main(String args[]){
File f=new File(“D:”);
File fs[]=f.listFiles();
for(int i=0;i if(fs[i].isFile()) System.out.println(fs[i].getName()); else System.out.println(“
}
}
}
五、實(shí)驗(yàn)指導(dǎo)與處理
六、分析討論
實(shí)驗(yàn)教師評(píng)語(yǔ)成績(jī)
簽名:
日期:
第五篇:Java語(yǔ)言實(shí)驗(yàn)指導(dǎo)書(shū)-實(shí)驗(yàn)10 流范文
一、實(shí)驗(yàn)?zāi)康?1)熟悉文件流操作方法。
(2)應(yīng)用文件流操作文件。
二、實(shí)驗(yàn)內(nèi)容
(1)利用流操作,在屏幕上顯示文本文件內(nèi)容及文件的路徑、修改時(shí)間、大小、長(zhǎng)度、可讀性和可修改性等屬性。
(2)借助流操作,以圖形界面方式向文本文件添加記錄并顯示其記錄內(nèi)容。
三、實(shí)驗(yàn)要求
文件名通過(guò)命令行以參數(shù)方式輸入。程序需要判斷參數(shù)所提供文件的存在性。待添加的 記錄通過(guò)TextField控件輸入,文件內(nèi)容通過(guò)TextArea控件顯示。