Java / Android, новый синтаксис файла - PullRequest
0 голосов
/ 22 ноября 2011

Мне нужен быстрый совет по использованию new File(File dir, String file). Я специально имею дело с Android и не заинтересован ни в каких других системах. Я использую Android только из-за операционной системы на основе Linux, поэтому я думаю, что это может иметь значение.

Я хочу создать новый каталог с именем «original» на SD-карте в каталоге «uot». Таким образом, путь будет: "/sdcard/uot/original/"

Я тоже хочу позвонить new File(systemDir, "framework-res.apk")

Мой вопрос, просто:
Нужны ли разделители пути в String части new File(File dir, String file) или нет?

EDIT:
Я хочу затем вызвать mkdirs() для нового файла, который я создаю выше.

Чтобы создать новый каталог, что я должен сделать:

File newDir = new File(sdcard, "/uot/");
newFile.mkdirs();

или

File newDir = new File(sdcard, "uot");
newFile.mkdirs();

А потом для newFile Я собираюсь тогда позвонить

"cp "+newFile.getAbsolutePath()+" "+newDir.getAbsolutePath()

Чтобы сгенерировать объект File для newFile, я должен сделать:

File newFile = new File(systemDir, "framework-res.apk");

или

File newFile = new File(systemDir, "/framework-res.apk");

Примечание:
systemDir будет указывать на "/ system /", но я уже решил это отдельно.

Ответы [ 2 ]

1 голос
/ 22 ноября 2011

Нет.Вы можете добавить их или не добавлять их.Смысл этого конструктора в том, что проще создавать ссылки на файлы без жесткого кодирования зависимых от платформы разделителей в вашей программе.Поэтому, если у вас есть родительский файл, вы можете создавать ссылки на дочерние элементы без необходимости указывать разделители:

 File child = new File( parentFile, "child.txt" );

Обратите внимание, что мы не использовали разделителей между родительским файлом и дочерним.Еще один вариант независимости платформы вы можете сделать так:

File child = new File( parentPath + File.separator + "child.txt" );

В этом случае это parentPath - String.Наконец, вторым аргументом может быть любой подпуть относительно parentFile:

File grandchild = new File( parentFile, "child_directory" + File.separator + "grandchild.txt" );
0 голосов
/ 22 ноября 2011

Это зависит от ваших потребностей. Второй аргумент это child pathname.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...