容器和版面配置_第1页
容器和版面配置_第2页
容器和版面配置_第3页
容器和版面配置_第4页
容器和版面配置_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、檔案與輸入輸出串流(File and Input/Output Streams)簡介在資料傳輸上,我們可將電腦的週邊設備(如印表機、螢幕、磁碟等) 視為是檔案,資料從一個檔案傳送到另一個檔案,甚至可將範圍擴大到無遠弗屆的網路上。 無論是於何種設備、何種範圍,Java語言在資料傳遞上,均是以串流方式傳遞,對當事程式來言,從來源設備輸入(Input) 資料串流,再輸出(Output) 資料串流到指定的目的設備,完成資料傳輸之執行。檔案物件(File Objects)Java系統之java.io有其內建之檔案類別File.class,我們只要於程式檔案加入import java.io.File,即可

2、以此類別產生新檔案物件,如: Filefile=newFile(fileName);其中fileName為指定檔案之名稱,file為新產生之檔案物件。Ex. Filefile=newFile(“c:/jbook/stream.txt”);範例:檔案物件之應用。 importjava.io.File; class Ex_1 public static void main(String args) if (args.length 1) System.out.println(Usage: java Ex_1 fileName); System.exit(1); String fileName = a

3、rgs0; Filef=newFile(fileName); System.out.println(The File is: ); System.out.println( File Name: + f.getName(); 範例:檔案物件之應用。import java.io.*;public class e_1a public static void main(String args) /File(String pathname) File filename =new File(C:/JDKbook/stream.txt); System.out.println(filename.exists

4、(); File pathname =new File(C:/JDKbook); System.out.println(pathname.exists(); /File(String parent,String child) File fullname =new File(C:/JDKbook, stream.txt); System.out.println(pathname.exists(); /File(File parent,String child) File f =new File(pathname, stream.txt); System.out.println(f.exists(

5、); 檔案輸入輸出串流(File Input/Output Streams)Java程式之輸入輸出串流類別繼承自:l(1) InputStream/OutputStreaml用於位元傳輸,以位元組(Bytes) 為傳輸單位l(2) Reader/Writerl以字元(Character) 為傳輸單位,適用於以Unicode編碼之文字(如中文等亞洲語系)。FileInputStream與FileOutputStream類別FileInputStream繼承自InputStream;類別FileOutputStream繼承自OutputStream,用於檔案資料傳遞。FileOutputStrea

6、m主要功能是定義一檔案輸出串流,將簡單型別int、byte寫入檔案FilefileName=newFile(“c:/Java”,“test1.txt”);FileInputStreamfos=newFileInputStream(fileName);範例:FileOutputStream之應用。 01 import java.io.*; 02 class Ex_2 03 public static void main(String args) throws Exception 04 if (args.length 1) 05 System.out.println(Usage: java Ex_

7、2 fileName);06 System.exit(1);07 08 String fileName = args0;09 FileOutputStreamfos=newFileOutputStream(fileName); 10 String line = Test for FileOutputStream 中文測試; 11 fos.write(line.getBytes();/字串轉成位元陣列後寫入字串轉成位元陣列後寫入12 fos.close();13 14 範例:以FileInputStream / FileOutStream將一個檔案之內容傳遞至另一個檔案內。01 import j

8、ava.io.*; 02 class Ex_3 03 public static void main(String args) throws Exception 04 int i;05 if (args.length 2) 06 System.out.println(Usage: java Ex_3 infileName outfileName);07 System.exit(1);08 09 String infileName = args0;10 String outfileName = args1;11 FileInputStreamfis=newFileInputStream(infi

9、leName);12 FileOutputStreamfos=newFileOutputStream(outfileName);13 while(i=fis.read()!=-1) 14 fos.write(i);15 16 DataInputStream與DataOutputStream使用DataInputStream / DataOutputStream時,須與其父類別FileInputStream / FileOutputStream 搭配使用。可將Java所有型別資料寫入檔案FileOutputStreamfos=newFileOutputStream(fileName);DataO

10、utputStreamdos=newDataOutputStream(fos);Strings=“Thisisabook.”;dos.writeBytes(s);dos.close();fos.close();範例:FileOutputStream / DataOutputStream之應用。01 import java.io.*; 02 class Ex_4 03 public static void main(String args)throws Exception 04 if (args.length 1) 05 System.out.println(Usage: java Ex_4 f

11、ileName);06 System.exit(1);07 08 String fileName = args0;09 FileOutputStreamfos=newFileOutputStream(fileName);10 DataOutputStreamdos=newDataOutputStream(fos); 11 String s= Test for DataOutputStream 中文測試;12 dos.write(s.getBytes();13 /dos.writebytes(s);14 dos.close();16 fos.close(); 17 範例:以FileInputSt

12、ream / DataInputStream、FileOutStream / DataOutputStream將一個檔案之內容傳遞至另一個檔案內。01 import java.io.*; 02 class Ex_5 03 public static void main(String args)throws Exception 04 int i;05 if (args.length 2) 06 System.out.println(Usage: java Ex_5 infileName outfileName);07 System.exit(1);08 09 String infileName

13、= args0;10 String outfileName = args1;11 FileInputStreamfis=newFileInputStream(infileName);12 DataInputStreamdis=newDataInputStream(fis);13 FileOutputStreamfos=newFileOutputStream(outfileName);14 DataOutputStreamdos=newDataOutputStream(fos);15 while(i=dis.read() !=-1) 16 dos.write(i);17 18 19 FileRe

14、ader與FileWriter以FileReader / FileWriter 產生之輸入/輸出串流,可讀寫以雙位元Unicode之輸入/輸出資料,適用亞洲各國文字之編碼,因此可用於解決中文的問題。範例:FileReader之應用。 01 import java.io.*; 02 class Ex_7 03 public static void main(String args) throws Exception 04 int i;05 if (args.length 1) 06 System.out.println(Usage: java Ex_7 fileName);07 System.e

15、xit(1);08 09 String fileName = args0;10 FileReaderfr=newFileReader(fileName);11 while(i=fr.read() !=-1) 12 System.out.print(char)i);13 14 15 範例:FileWriter之應用。 01 import java.io.*; 02 class Ex_8 03 public static void main(String args) throws Exception 04 if (args.length 1) 05 System.out.println(Usage

16、: java Ex_8 fileName);06 System.exit(1);07 08 String fileName = args0;09 FileWriterfw=newFileWriter(fileName); 10 String line = Test for FileWriter 測試FileWriter之中文; 11 fw.write(line);12 fw.flush();13 14 範例:以FileReader / FileWriter將一個檔案之內容傳遞至另一個檔案內。01 import java.io.*; 02 class Ex_9 03 public static

17、void main(String args) throws Exception 04 int i; 05 if (args.length 2) 06 System.out.println(Usage: java Ex_9 infileName outfileName);07 System.exit(1);08 09 String infileName = args0;10 String outfileName = args1;11 FileReaderfr=newFileReader(infileName);12 FileWriterfw=newFileWriter(outfileName);

18、13 while(i=fr.read() !=-1) 14 fw.write(i); 15 16 fw.flush();17 18 鍵盤資料輸入電腦之週邊設備均可視為是檔案(如鍵盤、螢幕、印表機等),其間資料的傳遞猶如檔案間資料的傳遞。InputStreamReaderisr=newInputStreamReader(System.in);BufferedReaderbr=newBufferedReader(isr);範例:鍵盤資料輸入之應用。 01 import java.io.*; 02 class Ex_9 03 public static void main(String args)t

19、hrows IOException 04 int i; 05 InputStreamReaderisr=newInputStreamReader(System.in);06 BufferedReaderbr=newBufferedReader(isr); 07 System.out.println(Input data in the keyboard: );08 while(true)09 i=br.read();10 System.out.print(char)i);11 12 13 範例:由鍵盤輸入資料,以FileOutputStream串流寫入新檔案(無法寫入中文)。01 mport j

20、ava.io.*;02 class Ex_10 03 public static void main(String args)throws IOException 04 int i;05 if (args.length 1) 06 System.out.println(Usage: java Ex_10 outfileName);07 System.exit(1);08 09 String outfileName = args0; 10 InputStreamReader isr =new InputStreamReader(System.in);11 BufferedReader br = new BufferedReader(isr);12 FileOutputStreamfos=newFileOutputStream(outfileName);13 System.out.printl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论