亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cutandunit.java

?? 實現了文件的切割和合并 很詳細
?? JAVA
字號:
import java.io.*;
import java.util.*;

public class CutAndUnit {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO 自動生成方法存根
		
		jieshao();
		short mainFunc = (new Scanner(System.in)).nextShort();
		
		if( mainFunc == 1 )
		{
		FileCut fileCut = new FileCut();
		fileCut.Cut();
		}
		else if( mainFunc == 2 )
		{
			FileUnite fileUnit = new FileUnite();
			fileUnit.Unite();
		}
		
	}
	static void jieshao()
	{
		System.out.println("功能介紹:" );
		System.out.println( "1.輸入 1 切割文件" );
		System.out.println( "2.輸入 2 合并文件" );
		System.out.print( "請輸入您的選擇:" );
	}
}
/*
 * file.getName:獲得文件名
 * file.getPath: 獲得文件的路徑名
 * 
 * 
 */
class FileCut
{
	String fileSrc;
	String fileTag;
	int fileSize;
	int fileNum;
	byte []typeBuffer = new byte[1024];
	
	FileCut(){ fileSrc = null; fileTag = null; fileNum = 0; fileSize = -1; }
	FileCut( String fileSrc, String fileTag, int fileSize ){ this.fileSrc = new String(fileSrc); this.fileTag = new String( fileTag);fileNum = 0; this.fileSize = fileSize; }
	/*
	 * 1.whether FileSrc and FileTag are initialiazed
	 * 2.func:get each file's size
	 * 3.func:create fileINputStream 
	 * 4.func:create fileOutputStream
	 */
	void Cut()
	{
		if( fileSrc == null )
		{
			System.out.print("Please input the name of the sourceFile:" );
			fileSrc = new String();
			fileSrc = ( new Scanner( System.in ) ).nextLine();
		}
		
		getSize();                                  //獲得每個文件的大小
		
		File file = new File( fileSrc );                         //在源文件所在的目錄創建一個文件夾,名為:切割
		File fileDir = new File( file.getParent() + "\\切割" + file.getName().substring( 0, file.getName().indexOf('.')) );
		fileDir.mkdir( );                                         //////////創建文件夾
		
		File fileOut = new File( getFileOutName( fileDir, file ) );
		
		//System.err.println( fileOut.getPath() );
		
		byte buffer[] = new byte[1024];                 //建立緩沖
		FileInputStream fileInput = null;
		FileOutputStream fileOutput = null;
		try{
			fileInput = new FileInputStream( fileSrc );
			fileOutput = new FileOutputStream( fileOut.getPath() );     ////////////////如果文件不存在會自動創建
		
		
			int tempint = 0;
			int readCount = -1;                               //該變量通過和fileSize比較確定現在文件大小
			while( (tempint = fileInput.read( buffer, 0, 1024 )) != -1 )    //從源文件讀數據,然后輸出到目標文件中去
			{
				readCount ++;
				if( readCount < fileSize )
				{
					fileOutput.write( buffer, 0, tempint );
				}
				else
				{
					readCount = 0;
					fileOutput.close();
					fileOutput = new FileOutputStream( getFileOutName(fileDir, file) );
					fileOutput.write( buffer,0, tempint );
				}
			}
		}catch( IOException e ){ System.err.println("Error1" );}
		finally
		{
			try{
			if( fileOutput != null ){ fileOutput.close();}
			if( fileInput != null ){ fileInput.close(); }
			}catch( IOException e ){ System.err.println( "Error4" );}
		}
	}
/*
 * 獲得當前目標文件的路徑
 */
	String getFileOutName(File fileDir, File file )
	{
		fileNum ++;
		int index = file.getName().indexOf('.');                         //獲得‘。’的位置
		String temp = new String( file.getName().substring( index ) );   //獲得‘。’及其后面的字符串
		return fileDir.getPath() + "\\" + file.getName().replace(temp, "_" + fileNum + ".vsm");
	}
/*
 * 獲得目標文件的大小
 */
	boolean getSize()
	{
		if( fileSize != -1 ) return true;       //判斷是否已經被初始化
		
		String temp = new String();
		System.out.print("Please input each cutFile's size:" );
		temp = (new Scanner( System.in ) ).nextLine();
		String regex = "\\d{0,}[kKmMgG]";          
		char sizeUnit;
		
		if( temp.matches( regex ) )                //正則匹配
		{
			int tempLen = temp.length();
			sizeUnit = temp.charAt(tempLen - 1);
			StringBuffer tempStr = new StringBuffer( temp );
			tempStr.deleteCharAt( tempLen - 1 );
			fileSize = Integer.parseInt( tempStr.toString() );
		}
		else
		{
			System.out.println( "輸入格式錯誤,請正確輸入,例如:1024M" );
			getSize();
			return false;
		}
		
		if( sizeUnit == 'm' || sizeUnit == 'M' )            //根據單位得到fileSize的大小
			fileSize = fileSize << 10;                      ///////////一位后應將值重新賦給目標變量
		else if( sizeUnit == 'g' || sizeUnit == 'G' )
			fileSize = fileSize << 20;
		
		return true;
	}
}
/*
 * 合并有FileCut分割成的文件
 */
class FileUnite
{
	String fileTagName;
	int fileNum;
	String fileParentName;
	String[] filesName;            //所有被合并的文件的路徑名
	File [] files;
	
	FileUnite(){ fileTagName = null; fileNum = 1; fileParentName = null;}
	FileUnite(String fileTag, int fileNum, String fileParent){ this.fileTagName = new String(fileTag); this.fileNum = fileNum; this.fileParentName =new String(fileParent ); }
	FileUnite(String fileTag, int fileNum, String[] filesName ){ this.fileTagName = new String(fileTag); this.fileNum = fileNum; this.filesName = filesName; }
	
	void Unite()
	{
		if( fileTagName == null )
		{
			System.out.print( "請輸入合并成文件的路徑名:");
			fileTagName = new String( (new Scanner(System.in)).nextLine() );
			System.out.print("請輸入包含被合并文件的文件夾:");
			fileParentName = new String( (new Scanner(System.in)).nextLine() );
		}
		
		//getAllFile();
		getAllFile();
		
		UniteAndOutput();
	}
	void getAllFile()
	{
		if( files != null )
		{
			
		}
		File fileParent = new File( fileParentName );
		files = fileParent.listFiles();
		for( int i = 0; i < files.length ; i ++ )
		{
			if( files[i].getName().endsWith(".vsm") )
			{
				int index = files[i].getName().indexOf('_');
				index = files[i].getName().charAt( index + 1 ) - '0';
				files[index] = files[i];
				if( index > fileNum ) 
					fileNum = index;
			}
		}
	}
	void UniteAndOutput()
	{
		FileInputStream fileInput = null;
		FileOutputStream fileOutput = null;
		try
		{
			fileOutput = new FileOutputStream( fileTagName );
			byte buffer[] = new byte[1025];
			
			for( int i = 1; i <= fileNum; i ++ )
			{
				int bufferLen = 0;
				fileInput = new FileInputStream( files[i] );
				while( (bufferLen = fileInput.read( buffer, 0, 1024 ) ) != -1 )
				{
					fileOutput.write( buffer, 0, bufferLen );
				}
			}
		}catch( IOException e ){ System.err.println( "Error2" ); }
		finally
		{
			try{
				if( fileInput != null ){ fileInput.close(); }
				if( fileOutput != null ){ fileOutput.close(); }
			}catch( IOException e ){ System.err.println( "Error5" ); }
		}
	}
/*
 * 以下為合并任意文件的代碼, 但是沒有在main方法中實現,只是測試了一下,而且可以用
 */
	void SetFileUnite(String fileTag, int fileNum, String[] filesName ){ this.fileTagName = new String(fileTag); this.fileNum = fileNum; this.filesName = filesName; }
	void UniteAnyFile( )
	{
		System.out.println( "請在下方輸入所有將被合并的文件的路徑名(每行一個文件路徑名,單獨一行輸入 -1 表示輸入結束):");
		Scanner scanner = new Scanner( System.in );
		fileNum = 1;
		filesName = new String[1001];
		files = new File[1000];
		
		try{
			while( true )
			{	
				if( scanner.hasNextLine() && !scanner.hasNextInt() )
				{
					filesName[fileNum] = scanner.nextLine();
					files[fileNum] = new File( filesName[fileNum++]);
				}
				else if( scanner.hasNextInt() )
					break;
			}
		}catch( Exception e ){ System.err.println( "Error3" ); }
		fileNum --;
	}
}
	
	
	
	
	
	
	
	
	
	
	
	
	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品黄色片免费大全| 亚洲午夜免费视频| 精品亚洲国产成人av制服丝袜| 欧美精品精品一区| 亚洲国产精品视频| 欧美精品自拍偷拍| 亚洲成av人片一区二区梦乃| 在线观看成人小视频| 亚洲精品国久久99热| 97超碰欧美中文字幕| 中文字幕佐山爱一区二区免费| 99精品国产热久久91蜜凸| 亚洲欧洲性图库| 日日夜夜免费精品视频| 精品国产乱码久久久久久浪潮| 久久国产夜色精品鲁鲁99| 精品精品国产高清a毛片牛牛| 精品在线一区二区| 久久精品免费在线观看| 激情综合网激情| 国产精品美女久久福利网站| k8久久久一区二区三区| 一区二区三区四区在线免费观看| 欧美综合天天夜夜久久| 婷婷中文字幕综合| 91福利精品视频| 中文乱码免费一区二区| 色综合中文字幕国产 | 国产传媒日韩欧美成人| 中文成人综合网| 91尤物视频在线观看| 一区二区三区电影在线播| 精品国产露脸精彩对白| 99re热这里只有精品免费视频 | 欧美国产日本视频| 欧美在线观看视频一区二区三区| 免费观看成人鲁鲁鲁鲁鲁视频| 国产日韩欧美综合在线| 欧美理论电影在线| 92精品国产成人观看免费| 麻豆一区二区三区| 亚洲欧美激情在线| 精品99999| 欧美无砖专区一中文字| 成人短视频下载| 久久99精品视频| 午夜精品福利一区二区三区av| 国产午夜精品一区二区三区四区 | 99精品在线观看视频| 麻豆精品视频在线观看视频| 亚洲精品videosex极品| 久久久www免费人成精品| 欧美一区二区三区在线视频| 91免费观看视频在线| 国产精品1区2区| 日本美女一区二区三区视频| 亚洲免费观看在线视频| 国产精品美女久久福利网站| xfplay精品久久| 日韩亚洲欧美综合| 91精品欧美一区二区三区综合在 | 午夜av一区二区三区| 亚洲桃色在线一区| 亚洲国产岛国毛片在线| 亚洲精品一区二区三区蜜桃下载| 制服丝袜亚洲精品中文字幕| 在线免费观看日本欧美| 91久久精品日日躁夜夜躁欧美| 成人精品gif动图一区| 国产精品99久久久久久有的能看 | av在线一区二区| 成人高清在线视频| 风间由美一区二区av101| 国产美女在线精品| 国产乱人伦偷精品视频免下载| 久久精品理论片| 国产一区二区在线看| 狠狠狠色丁香婷婷综合激情| 久久国产精品色婷婷| 狠狠色狠狠色综合日日91app| 日本成人中文字幕在线视频 | 2021久久国产精品不只是精品| 欧美大黄免费观看| 精品日产卡一卡二卡麻豆| 欧美大片免费久久精品三p | 91精品国产色综合久久不卡电影 | 国产欧美日韩中文久久| 亚洲国产电影在线观看| 国产精品福利一区| 亚洲欧美日韩国产综合在线| 亚洲一区二区精品久久av| 亚洲成人福利片| 美女网站色91| 国产精品 欧美精品| 成人免费av网站| 色综合亚洲欧洲| 67194成人在线观看| 日韩视频中午一区| 国产日韩欧美精品电影三级在线| 国产网红主播福利一区二区| 国产精品免费久久久久| 亚洲你懂的在线视频| 日韩专区在线视频| 国产在线播精品第三| 91丨porny丨蝌蚪视频| 欧美日韩性生活| 精品91自产拍在线观看一区| 国产精品理论片| 日韩影院免费视频| 成人美女视频在线看| 欧美日免费三级在线| 久久青草国产手机看片福利盒子 | 亚洲大尺度视频在线观看| 日韩成人一区二区| 国产91综合网| 欧美日韩卡一卡二| 久久久久久影视| 亚洲日本va午夜在线影院| 日韩二区在线观看| 国产成人精品影院| 欧美三级电影在线观看| 国产亚洲欧洲一区高清在线观看| 一级特黄大欧美久久久| 久久不见久久见免费视频7| 91视频精品在这里| 欧美一区二区三区啪啪| 中文字幕中文字幕一区| 免费一级片91| 91一区一区三区| 精品国偷自产国产一区| 亚洲一区在线播放| 国产91精品在线观看| 欧美精品在线观看播放| 国产网站一区二区三区| 日产欧产美韩系列久久99| 色综合久久99| 国产精品久久午夜| 国产伦精品一区二区三区免费迷| 色成人在线视频| 中文字幕欧美日本乱码一线二线| 香蕉久久夜色精品国产使用方法| 韩国毛片一区二区三区| 制服视频三区第一页精品| 一区二区三区视频在线看| 国产不卡高清在线观看视频| 日韩欧美中文字幕制服| 一区二区三区在线观看国产| 成人激情免费视频| 久久亚洲一区二区三区明星换脸| 午夜精品免费在线| 91在线看国产| 国产精品你懂的在线欣赏| 国产精品一二三在| 日韩一区二区三免费高清| 一级特黄大欧美久久久| 色综合色综合色综合| 国产精品乱码久久久久久| 国产老女人精品毛片久久| 日韩免费观看高清完整版在线观看 | 国产成人精品亚洲777人妖| 日韩欧美国产不卡| 琪琪久久久久日韩精品| 欧美人牲a欧美精品| 亚洲第一福利视频在线| gogogo免费视频观看亚洲一| 国产欧美日韩综合| 成人午夜电影小说| 国产精品乱人伦中文| av男人天堂一区| 亚洲美腿欧美偷拍| 色婷婷av久久久久久久| 亚洲欧美成人一区二区三区| 色婷婷综合久久久| 亚洲一区在线观看视频| 欧美电影一区二区三区| 日本最新不卡在线| 精品成人在线观看| 韩国av一区二区| 亚洲国产精品ⅴa在线观看| 成人激情av网| 一级中文字幕一区二区| 欧美日韩国产高清一区二区三区 | 免费人成在线不卡| 精品三级av在线| 高清shemale亚洲人妖| 亚洲日本va午夜在线电影| 欧美在线不卡一区| 免费看日韩精品| 久久精品视频免费| 97精品久久久午夜一区二区三区| 亚洲免费观看高清| 欧美一卡在线观看| 国产黄色精品网站| 日韩毛片在线免费观看| 欧美无人高清视频在线观看| 激情综合五月婷婷| 亚洲免费伊人电影| 欧美本精品男人aⅴ天堂| 成人一级视频在线观看| 亚洲成人手机在线|