大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Java面向對象
Java異常
Java數組
Java常用類
Java集合
Java IO流
Java線程
Java反射
Socket編程
Java注解開發
Java GoF設計模式
HashMap
Java內存模型
Java線性表

Java文件輸入輸出流

使用這兩個類可以讀寫文件內容, 是以字節為單位

package com.wkcto.chapter06.fileinputstream;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * 以字節為單位讀取文件的內容, 循環讀取
 * @author 蛙課網
 *
 */
public class Test03 {
	public static void main(String[] args) throws IOException {
		//1)在當前程序與指定的文件之間建立流通道
		//使用FileInputStream類以字節為單位讀取文件內容, 通過構造方法指定要訪問的文件
		FileInputStream fis = new FileInputStream("d:/abc.txt");
		//該文件內容: ABCabc
		
		//2)讀取文件數據, read()方法從文件中讀取一個字節 ,并把讀到 的字節返回, 如果讀到文件末尾返回-1
		int cc = fis.read(); 
		
		while( cc != -1 ){
			//對讀到的cc字節進行處理
//			System.out.println( cc ); 		//把讀到的字節打印到屏幕上
			System.out.print( (char)cc ); 			//當前文件中都是英文字符,一個字符對應一個字節, 把讀到的字節轉換為字符再打印
			//繼續讀取文件中的內容
			 cc = fis.read(); 
		}
				
		//3)關閉流通道
		fis.close();
	}
}
package com.wkcto.chapter06.fileinputstream;

import java.io.FileInputStream;
import java.io.IOException;
/**
 * 一次讀取一個字節數組,循環讀取
 * @author 蛙課網
 *
 */
public class Test04 {

	public static void main(String[] args) throws IOException {
		//1)建立與文件的流通道
		FileInputStream fis = new FileInputStream("d:/abc.txt");
		//文件內容:ABCabcwkcto
		
		byte[] bytes = new byte[8];
		
		//2)讀取數據保存到字節數組中, 返回讀到的字節數,如果讀到文件末尾返回-1
		int len = fis.read(bytes);
		
		while( len != -1 ){
			//從流中讀取了len個字節保存到了字節數組中, 可以對這len個字節 進行處理
			//把讀到的len個字節轉換為字符串打印到屏幕上
			System.out.print( new String(bytes, 0, len)  );
			
			//繼續向下讀, 讀的字節繼續保存到字節中
			len = fis.read(bytes);
		}		
		
		//3)關閉流
		fis.close();
	}

}
package com.wkcto.chapter06.fileinputstream;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * 異常處理
 * @author 蛙課網
 *
 */
public class Test05 {

	public static void main(String[] args) {
		
//		readData(); 		//以字節為單位讀取文件內容, 異常處理, 手動關閉流
		readData2(); 		//以字節數組為單位讀取文件內容, 異常處理, 自動 關閉流, 從JDK7開始
	}

	private static void readData2() {		
		try (
				FileInputStream fis = new FileInputStream("d:/abc.txt");
				) {
			byte [] bytes = new byte[8];  	//字符數組一般情況下是1024的偶數倍
			int len = fis.read(bytes);
			while( len != -1){
				System.out.print( new String(bytes, 0 ,len));
				len = fis.read(bytes);
			}
			
		} catch (Exception e) {
		}
	}
private static void readData() {
		
		FileInputStream fis = null;
		try {
			fis = new FileInputStream("d:/abc.txt");
			int cc = fis.read();
			while( cc != -1 ){
				System.out.print( (char)cc );
				cc = fis.read();
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if ( fis != null) {
				try {
					fis.close();
				} catch (IOException e) {
					e.printStackTrace();
				}				
			}			
		}
		
	}

}
package com.wkcto.chapter06.fileinputstream;

import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 演示FileOutputStream, 把程序中的數據保存到文件中
 * @author 蛙課網
 *
 */
public class Test06 {

	public static void main(String[] args) throws IOException {
		//1)建立當前程序與文件之間的流通道, 如果文件不存在,會創建一個新的文件,如果文件已存在,會覆蓋原來的內容
//		FileOutputStream fos = new FileOutputStream("d:/def.txt");
		//1)建立當前程序與文件之間的流通道, 如果文件不存在,會創建一個新的文件,如果文件已存在,原文件后面追加新的內容
		FileOutputStream fos = new FileOutputStream("d:/def.txt", true); 	//以追加的方式打開文件
		//2)把數據保存到文件中
		//2.1 可以一次保存一個字節
		fos.write(97);
		fos.write(98);
		fos.write(99);
		//2.2 可以一次保存一個字節數組
		byte[]bytes = "wkcto is a NB Website".getBytes();
		fos.write(bytes);
		//2.3 換行 , 在Windows操作系統中,換行需要\r\n兩個 字符
		fos.write('\r');
		fos.write('\n');
		//2.4 保存字節數組中部分字節
		fos.write(bytes, 0, 5);
		
		//3)關閉流通道
		fos.close();
	}

}
package com.wkcto.chapter06.fileinputstream;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 以字節流實現文件的復制
 * @author 蛙課網
 *
 */
public class Test07 {

	public static void main(String[] args) {
		String srcFile = "d:/javase/video/6-6 FileOutputStream保存數據到文件.avi"	;
		String destFile = "d:/hehe.avi";
		
//		copyFile1( srcFile, destFile );  		//以字節為單位復制, 異常處理, 手動關閉流
		copyFile2(srcFile ,destFile); 			//以字節數組為單位復制, 異常處理, 自動關閉流
	}

	////以字節數組為單位復制, 異常處理, 自動關閉流
	private static void copyFile2(String srcFile, String destFile) {
		try (
				FileInputStream fis = new FileInputStream(srcFile);
				FileOutputStream fos = new FileOutputStream(destFile);
				) {
			byte [] bytes = new byte[1024];
			int len = fis.read(bytes);
			while( len != -1 ){
				//把讀到的len個字節保存到fos輸出流中
				fos.write(bytes, 0, len);
				len = fis.read(bytes);
			}
			
		} catch (Exception e) {
		}
	}

	////以字節為單位復制, 異常處理, 手動關閉流
	private static void copyFile1(String srcFile, String destFile) {
		//文件復制,從源文件中讀取一個字節, 把該字節保存到目標文件中
		
		FileInputStream fis = null;
		FileOutputStream fos = null;
		try {
			fis = new FileInputStream(srcFile);
			fos = new FileOutputStream(destFile);
			
			int cc = fis.read(); 	//從源文件中讀取一個字節
			while( cc != -1 ){
				//把讀到的字節cc保存到目標文件中
				fos.write(cc);
				//繼續讀到源文件的下個字節
				cc = fis.read(); 
			}
		} catch (IOException e) {
			e.printStackTrace();
		}finally {
			if ( fis != null ) {
				try {
					fis.close();
//					fos.close(); 		//不能放在一起
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			if (fos != null) {
				try {
					fos.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}

	}

}

 

全部教程
主站蜘蛛池模板: 好男人午夜影院 | 精品亚洲永久免费精品 | 婷婷综合久久 | 国产不卡视频在线观看 | 国产欧美另类久久久品 | 日韩精品另类天天更新影院 | 欧美性色欧美a在线观看 | 五月天在线免费视频 | aⅴ一区二区三区 | 日日噜噜夜夜狠狠视频buoke | 午夜dj影院在线视频观看完整 | 高清一级毛片 | 久热久| 亚洲桃色视频 | 奇米线在人线免费视频 | 色婷婷国产 | 国产成人高清视频免费播放 | 成年人色视频 | 久久国产免费一区二区三区 | 四虎影院观看视频在线观看 | 婷婷国产成人久久精品激情 | 老色99久久九九精品尤物 | 狠狠操夜夜爱 | 国产精品深爱在线 | 国产第一综合另类色区奇米 | 日本一区二区三区不卡在线视频 | 国产成人在线免费 | 欧美亚洲国产一区 | 欧美精品www| 在线视频精品一区 | 亚洲天堂久久新 | 乱人伦中文视频在线 | 午夜日韩视频 | 九九爱www高清免费人成 | 国内精品久久久久久影院老狼 | 国产午夜免费 | 中文字幕最新在线 | 午夜视频久久久久一区 | 天天操操操操 | 久久99九九精品免费 | 在线观看深夜观看网站免费 |