Для выполнения операций с файлами вы должны сначала перейти в каталог, где находится файл.Например, если вам нужно попасть в / root / directory / subdir /, вы должны вызвать setPath три раза
setPath(""); // to get to /root/
setPath("directory") // get to /root/directory/
setPath("subdir") // get to root/directory/subdir/
Весь код, написанный ниже, предназначен для J2ME. Я использую этот метод для установки пути с разделителями (Например, / root / dir /)
private void moveToDirectory(String dir) throws IOException {
RE r = new RE("/"); // where RE is me.regexp.RE
setDir("");
String[] dirs = r.split(dir);
for (int i = 1; i < dirs.length; i++) setDir(dirs[i]);
}
Чтобы удалить файл, откройте операцию PUT для него и закройте его или используйте метод удаления в ClientSession.
public void delete() throws IOException {
HeaderSet hs = cs.createHeaderSet(); // where cs is an opened ClientSession
hs.setHeader(HeaderSet.NAME, file); // file - is a filename String, no slashes should be used
cs.delete(hs);
}
Есливам нужно заменить файл, который вам, вероятно, не нужен для вызова метода удаления, просто откройте OutputStream и запишите в него новый
public OutputStream openOutputStream() throws IOException {
HeaderSet hs = cs.createHeaderSet();
hs.setHeader(HeaderSet.NAME, file);
Operation op = cs.put(hs); // Operation should be global, so you can close it after you done
return op.openOutputStream();
}
, не забудьте закрыть операцию после того, как вы закончили с потоками.