實驗8Java輸入輸出流_第1頁
實驗8Java輸入輸出流_第2頁
實驗8Java輸入輸出流_第3頁
實驗8Java輸入輸出流_第4頁
實驗8Java輸入輸出流_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、臺州學院Java程序設(shè)計實驗報告實驗項目: 實驗8 Java輸入輸出流組 號: 組 員: 專 業(yè): 班 級:實驗時間: 實驗八 Java輸入輸出流1 讀寫文件【實驗目的】(1) 掌握文本文件的讀寫方法。(2) 掌握隨機文件的讀寫方法。(3) 掌握InputStream、OutputStream抽象類的基本使用。(4) 掌握FileInputStream、FileOutputStream、DataInputStream、DataOutputStream、BufferedInputStream、BufferedOutputStream、File、Reader/Writer及重要子類的基本使用?!緦?/p>

2、驗要求】 要求一:1. 建立IOStreamDemo類,定義文件的讀與寫的方法,以及實現(xiàn)某個圖像文件的復制操作。2. 在1的基礎(chǔ)上,針對不同流的讀寫進行速率測試,選擇效率最佳的IO流組合方式。3. 建立StreamDemo類,實現(xiàn)標準輸入輸出流的建立,能從鍵盤讀取字符串并輸出鍵盤輸入的字符串至屏幕上和文件里。要求二: 1. 任意給定一個文件夾,應用File及遞歸實現(xiàn)對文件夾下的所有文件和文件夾遍歷,輸出其結(jié)果。2. 設(shè)計/完成程序:應用Java的輸入輸出流,對一個圖片文件進行處理:在圖片上寫上幾個字符“By XXX同學”,給圖片框加上名稱標識“我處理的圖片”,然后,將圖片放在面板上、將面板放在

3、框架里?!緦嶒灢襟E】要求一:1. 建立IOStreamDemo類,定義文件的讀與寫的方法,以及實現(xiàn)某個圖像文件的復制操作。代碼:package edu.hzh;import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public clas

4、s IOStreamDemo public static void main(String args) throws IOException String inputPath="E:/a/a.jpg" String outputPath="E:/b/e.jpg" FileCopy fileCopy=new FileCopy(inputPath, outputPath); fileCopy.copy1(); class FileCopy private File inputFile; private File outputFile; private Inp

5、utStream inputStream; private OutputStream outputStream; public FileCopy(String inputPath,String outputPath) throws FileNotFoundException inputFile=new File(inputPath); outputFile=new File(outputPath); inputStream=new FileInputStream(inputFile); outputStream=new FileOutputStream(outputFile); /一次性把數(shù)據(jù)

6、全部讀取到內(nèi)存中來,再一次性寫入 public void copy1() throws IOException byte b=new byte(int)inputFile.length(); inputStream.read(b); /一次性讀入 outputStream.write(b); /一次性寫入 inputStream.close(); outputStream.close(); public File getInputFile() return inputFile; 2. 在1的基礎(chǔ)上,針對不同流的讀寫進行速率測試,選擇效率最佳的IO流組合方式FileInputStream、Fil

7、eOutputStream組合代碼如下:inputStream=new FileInputStream(inputFile); outputStream=new FileOutputStream(outputFile);運行時間結(jié)果截圖如下:DataInputStream、DataOutputStream組合代碼只需在上述代碼修改如下:inputStream=new DataInputStream(new FileInputStream(inputFile); outputStream=new DataOutputStream(new FileOutputStream(outputFile);

8、 運行時間結(jié)果截圖如下:BufferedInputStream、BufferedOutputStream組合代碼只需在上述代碼修改如下:inputStream=new BufferedInputStream(new FileInputStream(inputFile); outputStream=new BufferedOutputStream(new FileOutputStream(outputFile);運行時間結(jié)果截圖如下:總的來說:還是第一種組合花費的時間最少,第二種與第三種組合所花費的時間差不多。3. 建立StreamDemo類,實現(xiàn)標準輸入輸出流的建立,能從鍵盤讀取字符串并輸出鍵

9、盤輸入的字符串至屏幕上和文件里。從鍵盤讀取字符串并輸出鍵盤輸入的字符串至屏幕上:代碼如下:package edu.hzh;import java.io.*;public class StreamDemo public static void main(String args) String str=null;tryBufferedReader be=new BufferedReader(new InputStreamReader(System.in);str=be.readLine();System.out.println(str.toString();catch(Exception e)運行

10、結(jié)果截圖如下:從鍵盤讀取字符串并輸出鍵盤輸入的字符串至文件上代碼如下:package edu.hzh;import java.io.*;public class StreamDemo public static void main(String args) tryBufferedReader be=new BufferedReader(new InputStreamReader(System.in);String str=be.readLine();File file=new File("E:/in.txt");FileOutputStream fos=new FileOu

11、tputStream(file);DataOutputStream dos=new DataOutputStream(fos);dos.writeBytes(str);fos.close();catch(Exception e)運行結(jié)果截圖:要求二:1. 任意給定一個文件夾,應用File及遞歸實現(xiàn)對文件夾下的所有文件和文件夾遍歷,輸出其結(jié)果。代碼如下:package edu.hzh;import java.io.File;public class Test public static void main(String args) throws Exception /遞歸顯示C盤下所有文件夾及其

12、中文件 File root = new File("C:/Users/wjp/Pictures"); showAllFiles(root); final static void showAllFiles(File dir) throws Exception File fs = dir.listFiles(); for(int i=0; i<fs.length; i+) System.out.println(fsi.getAbsolutePath(); if(fsi.isDirectory() try showAllFiles(fsi); catch(Exception

13、 e) 運行結(jié)果截圖如下:2. 設(shè)計/完成程序:應用Java的輸入輸出流,對一個圖片文件進行處理:在圖片上寫上幾個字符“By XXX同學”,給圖片框加上名稱標識“我處理的圖片”,然后,將圖片放在面板上、將面板放在框架里。代碼如下:package edu.hzh;import java.awt.Color;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.File;import javax.swing.*;import javax.imageio.*;import java.awt.Color;

14、 import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.swing.*; import javax.imageio.*; public class demo public static void main(String args) throws Exception BufferedImage image = ImageIO.read(new File("C:/Users/wjp/Pictur

15、es/言葉之庭/1.png"); Graphics g = image.getGraphics(); g.setColor(Color.red); g.drawChars("By Michael".toCharArray(), 0, 10, 10, 10); g.setColor(Color.GREEN); g.drawChars("我處理的圖片".toCharArray(), 0, "我處理的圖 片".length(), image.getWidth()-80, image.getHeight()-10); JFrame jm = new JFrame(); jm.setBounds(500, 200, 200, 200); ImageIcon i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論