警告:File.mkdir()被忽略

我使用Media Recorder API创build了一个基本的audio录音应用程序。 我试图在SD卡中创build一个文件夹,并将录制的文件保存到该文件夹​​。 我收到以下代码的警告。

File.mkdir()被忽略

// Assign random number to avoid audio file from overwriting Long tsLong = System.currentTimeMillis()/1000; // Specify a Location for the recorded file to be stored in the SD card mFileName = Environment.getExternalStorageDirectory().getAbsolutePath() + "/AudioRecordTest/"; File path = new File(mFileName); if(!path.exists()) { path.mkdir(); } mFileName += "/AudioRecordTest_" + tsLong.toString() + ".mp3"; 

如何解决这个警告信息。 如果有任何其他错误,请随意修改代码。

Solutions Collecting From Web of "警告:File.mkdir()被忽略"

纠正我,如果我错了,但我希望(编译)警告消息真的说这个:

File.mkdir()的结果被忽略

… 或类似的东西。 它告诉你,你忽略了mkdir()调用的结果,告诉你是否创build了一个目录。

避免警告的一种方法是testing结果并采取适当的行动。 另一种方法是将结果简单地分配给一个临时variables,忽略它,并且(可能)稍后崩溃,因为该目录本来就不是被创build的。

(猜猜哪个解决scheme更好…)


如果有任何其他错误,请随意修改代码。

既然你问了…对于Javavariables名使用匈牙利符号是不好的风格。 Java是一种强types语言,其中所有variables都有明确的声明types。 你不应该需要一些可怕的标识符约定的精神拐杖来告诉你一个variables的types是什么意图。

正如@Stephen C所build议的,我以这种方式处理

1)

boolean isDirectoryCreated= path.mkdir();

并忽略“isDirectoryCreated”

2)(推荐)

  boolean isDirectoryCreated=path.exists(); if (!isDirectoryCreated) { isDirectoryCreated= path.mkdir(); } if(isDirectoryCreated) { // do something } 

3)

 if (!path.exists()) { if(path.mkdir()){ // do something } } 

如果您想忽略此警告,请在方法中添加以下内容:@SuppressWarnings(“all”)