大战熟女丰满人妻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();
				}
			}
		}

	}

}

 

全部教程
主站蜘蛛池模板: 狠狠色噜噜狠狠米奇777 | 一区在线看 | 国产欧美日韩亚洲精品区2345 | 人人做人人性 | 中国大陆高清aⅴ毛片 | 天天干天天干天天干天天 | 欧美一a一片一级一片 | 亚洲欧美一区二区三区国产精品 | 中文字幕一区在线观看视频 | 亚洲国产人久久久成人精品网站 | 精品国产品欧美日产在线 | 99在线观看精品视频 | 免费国产一级 | 欧美一级毛片不卡免费观看 | 久久精品中文字幕 | 天天插天天插天天插 | 久久夜色视频 | 91视频网址入口 | 国产网站麻豆精品视频 | 四虎影视8848a四虎在线播放 | 亚洲综合图片人成综合网 | 国产精品高清全国免费观看 | 亚洲日日 | 香蕉视频黄在线观看 | 国产欧美亚洲精品 | 亚洲四虎影院 | 欧美一级毛片免费大全 | 四虎天堂 | 国产主播第一页 | 免费国产一级特黄aa大片在线 | 国产成人精品久久一区二区三区 | 男人的天堂欧美精品色偷偷 | 欧洲亚洲一区 | 五月天久久综合 | 国产日本欧美亚洲精品视 | 一级一级一级毛片免费毛片 | 色综合天天综合网国产人 | 久久这里只有精品23 | 久久综合久美利坚合众国 | 国产极品福利视频在线观看 | 日韩一区二区中文字幕 |