używam następujący kod:File.mkdir() i mkdirs() tworzymy plik zamiast katalogu
final File newFile = new File("/mnt/sdcard/test/");
newFile.mkdir(); // if I use mkdirs() result is the same
I to tworzy pusty plik! Czemu?
używam następujący kod:File.mkdir() i mkdirs() tworzymy plik zamiast katalogu
final File newFile = new File("/mnt/sdcard/test/");
newFile.mkdir(); // if I use mkdirs() result is the same
I to tworzy pusty plik! Czemu?
Nie użyjesz mkdirs(), chyba że chcesz utworzyć każdy z tych folderów w strukturze. Nie dodawaj dodatkowego slasha na końcu łańcucha i sprawdź, czy to działa.
Na przykład
final File newFile = new File("/mnt/sdcard/test");
newFile.mkdir();
Próbowałem z 2 ukośnikami na końcu i to działa, dziękuję! – arts777
Nie ma "/ mnt/sdcard", która wskazuje na prawdziwy sdcard na wszystkich urządzeniach z systemem Android (KitKat). Próbowałem również sztuczki dwóch ukośników na końcu z "/ storage/external_SD/Android/data/
spróbować użyć
String rootPath=Environment.getExternalStorageDirectory().getAbsolutePath()+"/test/";
File file=new File(rootPath);
if(!file.exists()){
file.mkdirs();
}
Przede wszystkim nie należy używać ścieżki pliku z "/ mnt/sdcard/test", może to powodować pewne problemy z niektóre telefony z Androidem. Zamiast tego należy użyć:
public final static String APP_PATH_SD_CARD = "/Test";
String fullPath = Environment.getExternalStorageDirectory().getAbsolutePath() + APP_PATH_SD_CARD;
Tworzy pusty plik, ponieważ dodano myślnik.
Teraz, że masz ścieżka użyć następującego kodu:
try {
File dir = new File(fullPath);
if (!dir.exists()) {
dir.mkdirs();
}
}
catch(Exception e){
Log.w("creating file error", e.toString());
}
>> Przede wszystkim nie powinieneś używać ścieżki pliku z "/ mnt/sdcard/test" >> Jest OK, ponieważ jest to przykładowy kod. W rzeczywistości jest to część menedżera plików i próbuję utworzyć katalog ze ścieżką zdefiniowaną przez użytkownika. Tak więc nie używam zakodowanej na stałe ścieżki "/ mnt/sdcard /" w prawdziwym kodzie. – arts777
W takim razie wystarczy. – Max
Kiedy należy się upewnić, że wszystkie katalogi dla pliku istnieje, ale mam tylko filepath - zrobić
new File(FileName.substring(0,FileName.lastIndexOf("/"))).mkdirs();
są na pewno, jest to pusty plik? – ariefbayu
---- system rwxr-x sdcard_rw 9873 – arts777
cat/mnt/sdcard/test ->/mnt/sdcard/test: nieprawidłowa długość – arts777