我正在尝试为我的应用创建一些公共文件夹以保存一些数据。 我的目标是创建一个主文件夹和一个基于当前日期命名的子文件夹,以便保存我的数据。数据应该可以通过PC访问。 问题是,当我通过手机[图像1](使用蓝牙文件传输应用程序)访问文件时一切正常,电脑无法识别子文件夹[图像2]。
我看了很多答案,尝试了很多,但还没有找到解决方案。 我的代码是:
public void createFile() {
calendar_time = Calendar.getInstance(Locale.getDefault());
int hour = calendar_time.get(Calendar.HOUR_OF_DAY);
int minute = calendar_time.get(Calendar.MINUTE);
int second = calendar_time.get(Calendar.SECOND);
String time=String.valueOf(hour)+":"+String.valueOf(minute)+":"+String.valueOf(second);
String sFileName=date+" "+time+" Part "+String.valueOf(file_counter)+".txt";
try {
File root = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_DOCUMENTS), "Main folder/"+date);
if (!root.exists()) {
root.mkdirs();
}
root.setExecutable(true);
root.setReadable(true);
root.setWritable(true);
MediaScannerConnection.scanFile(context, new String[] { root.toString() }, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
}
});
File myfile = new File(root, sFileName);
writer = new FileWriter(myfile);
writer.append("Unit\n\n");
writer.append("#\tValue \tX \tY \tZ \tTime\n\n");
readyToRecord=true;
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(context, "Error creating file", Toast.LENGTH_SHORT).show();
stop();
}
}
我添加了以下代码,因为我读过它会有帮助
root.setExecutable(true);
root.setReadable(true);
root.setWritable(true);
MediaScannerConnection.scanFile(context, new String[] { root.toString() }, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
}
});
我不包含其他功能,因为他们不负责创建路径和文件。 我希望你能帮助我。 谢谢
答案 0 :(得分:1)
我找到了解决方案。我将代码更改为
File root = new File(Environment.getExternalStorageDirectory()+ "/Main folder/"+date);
if (!root.exists()) {
root.mkdirs();
}
myfile = new File(root.getAbsolutePath(), sFileName);
writer = new FileWriter(myfile);
getExternalStorageDirectory的使用适用于所有Android版本,与getExternalStoragePublicDirectory不同( Environment.DIRECTORY_DOCUMENTS)
此外,CommonsWare的部分内容也是必要的。
答案 1 :(得分:0)
扫描{
"name": "xFlare/slack-bot",
"description": "xFlare's Slack bot project",
"authors": [
{
"name": "xFlare"
}
],
"minimum-stability": "dev",
"prefer-stable": true,
"require": {
"php": ">=5.5",
"coderstephen/slack-client": "^0.3.0"
}
}
,而不是myfile
,并且只有在您写完并关闭 root
之后才能扫描。