在目录中创建子目录并能够将数据保存到其中
Creating subdirectories within a directory and be able to save data into it
我是 android 开发的新手,我需要帮助。我有两个问题:
- 我不知道如何在我的主目录中创建两个子目录。我知道如何在目录中创建子目录 (
File directory = new File(Environment.getExternalStorageDirectory()+"Saling-Wika/Audio&Text Files");
),但我想要的是在我的主子目录中有两个子目录(音频文件和文本文件与 Saling-Wika 中的两个子目录不同主目录)。
我不知道如何才能将我的数据保存到我创建的子目录中。
这是音频数据来自的我的记录模块的代码:
public class RecordModule extends Activity {
Button SpeakBtn, StopBtn;
private MediaRecorder myAudioRecorder;
private String outputFile = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.recordmodule);
SpeakBtn = (Button) findViewById(R.id.SpeakBtn);
StopBtn = (Button) findViewById(R.id.StopBtn);
StopBtn.setEnabled(false);
SpeakBtn.setEnabled(true);
SimpleDateFormat datetime = new SimpleDateFormat("ddMMyyyyhhmmss");
String format = datetime.format(new Date());
outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + format + ".3gp";
myAudioRecorder = new MediaRecorder();
myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
myAudioRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
myAudioRecorder.setOutputFile(outputFile);
SpeakBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
myAudioRecorder.prepare();
myAudioRecorder.start();
}
catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
SpeakBtn.setEnabled(false);
StopBtn.setEnabled(true);
Toast.makeText(getApplicationContext(), "Recording started", Toast.LENGTH_SHORT).show();
}
});
StopBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myAudioRecorder.stop();
myAudioRecorder.release();
myAudioRecorder = null;
StopBtn.setEnabled(false);
SpeakBtn.setEnabled(true);
Toast.makeText(getApplicationContext(), "Audio recorded successfully", Toast.LENGTH_SHORT).show();
}
});
}
我希望将我的音频数据存储到 Audio Files 目录中,但我不知道如何才能做到这一点。请帮助我。
我终于解决了我的问题,以下是我所做的解决方案:
String folder_main = "Saling-Wika"
File MainDir = new File (Environment.getExternalStorage();, folder_main);
if (!MainDir.exists()){
MainDir.mkdirs();
}
File f1 = new File (Environment.getExternalStorage() + "/" + folder_main, "Audio Files");
if (!MainDir.exists()){
MainDir.mkdirs();
}
File f2 = new File (Environment.getExternalStorage() + "/" + folder_main, "Text Files");
if (!MainDir.exists()){
MainDir.mkdirs();
}
}
这是我在主目录 (Saling-Wika fodler) 中创建两个子目录(音频和文本文件文件夹)的代码。
outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Saling-Wika/Audio Files/" + format + ".3gp";
下面是我的音频文件是如何保存到 Audio Files 文件夹中的。
我是 android 开发的新手,我需要帮助。我有两个问题:
- 我不知道如何在我的主目录中创建两个子目录。我知道如何在目录中创建子目录 (
File directory = new File(Environment.getExternalStorageDirectory()+"Saling-Wika/Audio&Text Files");
),但我想要的是在我的主子目录中有两个子目录(音频文件和文本文件与 Saling-Wika 中的两个子目录不同主目录)。 我不知道如何才能将我的数据保存到我创建的子目录中。 这是音频数据来自的我的记录模块的代码:
public class RecordModule extends Activity { Button SpeakBtn, StopBtn; private MediaRecorder myAudioRecorder; private String outputFile = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.recordmodule); SpeakBtn = (Button) findViewById(R.id.SpeakBtn); StopBtn = (Button) findViewById(R.id.StopBtn); StopBtn.setEnabled(false); SpeakBtn.setEnabled(true); SimpleDateFormat datetime = new SimpleDateFormat("ddMMyyyyhhmmss"); String format = datetime.format(new Date()); outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + format + ".3gp"; myAudioRecorder = new MediaRecorder(); myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); myAudioRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB); myAudioRecorder.setOutputFile(outputFile); SpeakBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { myAudioRecorder.prepare(); myAudioRecorder.start(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } SpeakBtn.setEnabled(false); StopBtn.setEnabled(true); Toast.makeText(getApplicationContext(), "Recording started", Toast.LENGTH_SHORT).show(); } }); StopBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { myAudioRecorder.stop(); myAudioRecorder.release(); myAudioRecorder = null; StopBtn.setEnabled(false); SpeakBtn.setEnabled(true); Toast.makeText(getApplicationContext(), "Audio recorded successfully", Toast.LENGTH_SHORT).show(); } }); }
我希望将我的音频数据存储到 Audio Files 目录中,但我不知道如何才能做到这一点。请帮助我。
我终于解决了我的问题,以下是我所做的解决方案:
String folder_main = "Saling-Wika"
File MainDir = new File (Environment.getExternalStorage();, folder_main);
if (!MainDir.exists()){
MainDir.mkdirs();
}
File f1 = new File (Environment.getExternalStorage() + "/" + folder_main, "Audio Files");
if (!MainDir.exists()){
MainDir.mkdirs();
}
File f2 = new File (Environment.getExternalStorage() + "/" + folder_main, "Text Files");
if (!MainDir.exists()){
MainDir.mkdirs();
}
}
这是我在主目录 (Saling-Wika fodler) 中创建两个子目录(音频和文本文件文件夹)的代码。
outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Saling-Wika/Audio Files/" + format + ".3gp";
下面是我的音频文件是如何保存到 Audio Files 文件夹中的。