Мой код создает файл .csv в определенном каталоге, который я хочу видеть на ПК при доступе к хранилищу телефона с помощью USB-кабеля.
private final String SPECTRA_CSV_DIRECTORY = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "Spectra_Logs";
public void saveMeasurementToFiles(String[] data) { //ADHI 1.4.4
if (isExternalStorageWritable()) {
if (directoryExists(SPECTRA_CSV_DIRECTORY)) {
try {
File spectraLog = new File(createCSVFileName(0));
spectraLog.createNewFile();
FileOutputStream fos = new FileOutputStream(spectraLog, true);
for (int i = 0; i < data.length; i++)
fos.write((data[i] + System.getProperty("line.separator")).getBytes());
fos.close();
}
catch (FileNotFoundException e) {
messageLogger.saveErrorToFile(SmartUtilities.getStackTrace(e), "CSV_Save_Error");
Toast.makeText(this, "CSV Save: Error accessing file", Toast.LENGTH_SHORT).show();
}
catch (IOException e) {
messageLogger.saveErrorToFile(SmartUtilities.getStackTrace(e), "CSV_Save_Error");
Toast.makeText(this, "CSV Save: Error with data stream", Toast.LENGTH_SHORT).show();
}
catch (Exception e) {
messageLogger.saveErrorToFile(SmartUtilities.getStackTrace(e), "CSV_Save_Error");
Toast.makeText(this, "CSV Save: Unknown error occurred, check error logs", Toast.LENGTH_SHORT).show();
}
}
}
}
Ниже приведен код вызываемых методов, чтобы у вас было представление о том, что делает этот код.
private boolean directoryExists(String path) {
try {
File folder = new File(path);
boolean exists = folder.exists();
// Check if exists, if not; create it
if (!exists)
exists = folder.mkdirs();
// Check if successful
if (exists) {
Log.d("FILE IO:", "Spectra directory found or created successfully");
return true;
}
else {
Log.d("FILE IO ERROR:", "Spectra directory missing - cannot be resolved.");
Toast.makeText(this, "Error: Spectra directory missing - cannot be resolved.", Toast.LENGTH_LONG);
return false;
}
}
catch (Exception e) {
Log.d("FILE IO ERROR:", "Problem saving spectra csv to storage");
Toast.makeText(this, "Error saving spectra csv to storage.\n\n" + e.toString(), Toast.LENGTH_LONG);
return false;
}
}
Я рутировал свой телефон и могу использовать корневой браузер, чтобы просмотреть каталог, где он должен быть (я полагаю), и открыть файлы .csv с помощью текстового редактора. Путь к каталогу следующий:
хранилище/эмуляция/0/Spectra_Logs
... но когда я подключаю свой телефон к компьютеру, я не вижу ни одного из файлов .csv, что разочаровывает, потому что все, для чего я хотел использовать эти файлы, - это экспорт на мой компьютер.
Итак, мой первый вопрос: почему они не видны на ПК?
Второй вопрос: как сделать их видимыми?