1、createTempFile():


<span >File sampleDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() +"/FMRecording");
mSampleFile = File.createTempFile("FMRecording", ".m4a", sampleDir);</span>

主要的区别就是生成的这个文件的命名格式,看到createTempFile()的第一个参数,查看源码可以发现第一个参数是文件的命名的前缀;第二个参数是生成一个随机数作为文件的命名的中间,后面第三个参数是文件的后缀。


2、createNewFile():

<span >long lTime = System.currentTimeMillis();
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(lTime);
String sFileName  = String.format("FMR_%02d%02d%04d_%02d%02d%02d",
		calendar.get(Calendar.DAY_OF_MONTH),calendar.get(Calendar.MONTH) + 1,calendar.get(Calendar.YEAR),
		calendar.get(Calendar.HOUR_OF_DAY),
		calendar.get(Calendar.MINUTE), calendar.get(Calendar.SECOND));
mSampleFile = new File(sampleDir + File.separator + sFileName+".amr");
<span >	</span>try {
		mSampleFile.createNewFile();
	} catch (Exception e1) {
		// TODO Auto-generated catch block
		e1.printStackTrace();
	}
	Log.i(TAG, "lsn mSampleFile = "+mSampleFile);
	Log.i(TAG, "lsn sampleDir = "+sampleDir);</span>

这里文件的命名就是用一个存储路径的绝对路径和日期格式命名:比如:FMR_26032015_205830.amr


这是我前几天遇到的一个问题后面了解了一下的,希望大家知道更全的可以补充。