java創建臨時文件

方法:

createTempFile( String perfix,String suffix );//perfix爲臨時文件的前綴,suffix爲臨時文件的後綴,這種方法沒有指定目錄,則放在系統的臨時文件夾下
createTempFile( String perfix,String suffix,File directory );//perfix爲臨時文件的前綴,suffix爲臨時文件的後綴,directory 爲創建的臨時文件所在目錄

代碼:

import java.io.File;
import java.io.IOException;
public class Test {
     
	/**
	 * 創建臨時文件
	 * @param prefix is 臨時文件的前綴
	 * @param suffix is 臨時文件的後綴
	 * @param directory is 臨時文件的目錄
	 */
	public static void createTempFile(String prefix,String suffix,String directory){
		
        File file = new File(directory);//根據指定的文件名創建File對象
        
		if ( !file.exists() ){  //要創建的文件目錄不存在,則創建目錄
			System.out.println("目錄"+directory+"的不存在,正在創建" );
			if ( file.mkdirs() )
				System.out.println("目錄"+directory+"創建成功!" );
			else
				System.out.println("目錄"+directory+"創建失敗!" );
		}
		
		
		File tempfile = null;
		
		try{
			tempfile = File.createTempFile(prefix,suffix,file);//用指定目錄的方法創建臨時文件
			System.out.println("成功創建了臨時文件"+tempfile );
			
		}catch(IOException e){
			e.printStackTrace();
			System.out.println("創建臨時文件"+tempfile+"失敗:"+e.getMessage());
		}
		

		
	}
	
	
	

	/**在指定目錄下創建臨時文件**/
    public static void main(String[] args){

    	String fileName = "D:\\temp\\aa\\bb";//定義臨時文件的目錄
    	String prefix = "helloword";//定義臨時文件的前綴
    	String suffix =".docx";//定義臨時文件的後綴
    	Test.createTempFile(prefix, suffix, fileName);//調用創建臨時文件的方法

     }
       
}

運行結果:

第一次運行結果:
目錄D:\temp\aa\bb的不存在,正在創建
目錄D:\temp\aa\bb創建成功!
成功創建了臨時文件D:\temp\aa\bb\helloword5628765651619708798.docx




大二次運行結果:
成功創建了臨時文件D:\temp\aa\bb\helloword3509223815028989368.docx

:注意到創建的臨時文件多了一串隨機數字,那是系統自動添加的臨時編號,已達到文件名不重名的效果

臨時文件的作用(摘抄):

   假設打水印過程中發生了異常,程序運行中斷,用戶上傳的文件已經被修改,但你沒有備份,無法還原,此時怎麼處理?
只能讓用戶再做一次選取文件的操作,這是一種相當差的用戶體驗。創建臨時文件就可以避免這種問題的發生,
當出現異常你可以提示用戶操作失敗,是否重試,甚至不提示用戶,直接自動重試,
重試的時候並不需要用戶再進行一次選取文件的操作,只是再備份一份用戶文件到臨時文件去
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章