Files.java:
package package1.com;
public class Files {
private String nameFiles;
private int sizeFiles;
public Files(String nameFiles,int sizeFiles){
this.nameFiles = nameFiles;
this.sizeFiles = sizeFiles;
}
public void setSizeFiles(int sizeFiles) {
this.sizeFiles = sizeFiles;
}
public void setNameFiles(String nameFiles) {
this.nameFiles = nameFiles;
}
public int getSizeFiles() {
return sizeFiles;
}
public String getNameFiles() {
return nameFiles;
}
}
Directory.java:
package package1.com;
public class Directory {
private String nameDir;
private Files[] arrayFile;
private Directory nextDir;
private int count;
private int curentSize;
public Directory() {}
public Directory(String nameDir, Directory nextDir, int curentSize) {
this.nameDir = nameDir;
this.nextDir = nextDir;
this.curentSize = curentSize;
arrayFile = new Files[this.curentSize];
}
public String getNameDir() {
return nameDir;
}
public void setNameDir(String nameDir) {
this.nameDir = nameDir;
}
public Directory getNextDir() {
return nextDir;
}
public void setNextDir(Directory nextDir) {
this.nextDir = nextDir;
}
public void addFile(String name, int size) {
if (count == arrayFile.length - 1) {
resize(arrayFile.length * 2);
}
arrayFile[count] = new Files(name, size);
count++;
}
private void resize(int newLength) {
Files[] newArrayFiles = new Files[newLength];
System.arraycopy(arrayFile, 0, newArrayFiles, 0, count);
arrayFile = newArrayFiles;
}
public boolean deleteFile() {//проверка булеан
if (count != 0) {
for (int i = 0; i < count; i++) {
arrayFile[i] = arrayFile[i + 1];
}
} else { return false; }
count--;
return true;
}
public void display() {
for (int i = 0; i < count; i++) {
System.out.print("Имя файла :" + arrayFile[i].getNameFiles() + " " + "Размер файла: " + arrayFile[i].getSizeFiles());
System.out.println();
}
System.out.print("Кол-во элементов: " + count + " " + "Длина массива: " + arrayFile.length);
System.out.println();
}
}
Device.java:
package package1.com;
public class Device {
private Directory firstDir;
public Device() {
firstDir = null;
}
public Directory getFirstDir() {
return firstDir;
}
public void setFirstDir(Directory firstDir) {
this.firstDir = firstDir;
}
public boolean createDirect(String nameDir, int currentSize, String afterName) { // afterName имя после которго добавить
Directory directory = new Directory(nameDir, firstDir, currentSize);
Directory current = firstDir;
if (firstDir == null) {
directory.setNextDir(firstDir);
firstDir = directory;
} else {
while (current.getNameDir() != afterName) {
if (current.getNextDir() == null) {
break;
} else {
current = current.getNextDir();
}
}
directory.setNextDir(current.getNextDir());
current.setNextDir(directory);
}
return true;
}
public boolean searchDirect(String nameDirect) {
Directory current = firstDir;
while (current.getNameDir() != nameDirect) {
if (current.getNextDir() == null) {
return false;
} else current = current.getNextDir();
}
return true;
}
public boolean deleteDirect(String nameDirect) {
Directory current = firstDir;
Directory previous = firstDir;
if (firstDir != null) {
while (current.getNameDir() != nameDirect) { // условие на пустоту 1
if (current.getNextDir() == null) {
return false;
} else {
previous = current;
current = current.getNextDir();
}
}
if (current == firstDir) { // условие первый или нет 2
firstDir = firstDir.getNextDir();
} else {
previous.setNextDir(current.getNextDir());
}
} else {
return false;
}
return true;
}
// public boolean saveProject(String name){}
// public boolean openProject(String name)
public void showDir() {
Directory current = firstDir;
while (current != null) {
// current.display();
System.out.print(current.getNameDir() + " ");
current = current.getNextDir();
}
}
}
Test.Java:
package package1.com;
public class TestClass {
public static void main(String[] args) {
Device device1 = new Device();
device1.createDirect("Dir1",10," ");
device1.createDirect("Dir2",5," ");
device1.createDirect("Dir3",6," ");
device1.createDirect("Dir4",7," ");
device1.showDir();
}
Вывод:
Dir1 Dir2 Dir3 Dir4
У меня есть три класса, демонстрирующие файловую структуру внешней памяти. Файлы в каталоге должны объединяться в очередь на основе дин. массива, а каталоги в список. Суть в том,что я могу создать список каталогов, а как вот в каждый каталог добавить массив файлов не знаю. Подскажите. Заранее спасибо.
Для этого вам надо изменить метод, чтобы он возвращал Directory которую вы добавили.
public Directory createDirect(String nameDir, int currentSize, String afterName) { // afterName имя после которго добавить
Directory directory = new Directory(nameDir, firstDir, currentSize);
Directory current = firstDir;
if (firstDir == null) {
directory.setNextDir(firstDir);
firstDir = directory;
} else {
while (current.getNameDir() != afterName) {
if (current.getNextDir() == null) {
break;
} else {
current = current.getNextDir();
}
}
directory.setNextDir(current.getNextDir());
current.setNextDir(directory);
}
return directory;
}
тогда ва можете добавлять в нее файлы
Device device1 = new Device();
Directory dir = device1.createDirect("Dir1",10," ");
dir.addFile("File1", 10);
dir.addFile("File2", 10);
dir.addFile("File3", 10);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Когда при JUnit тестировании целесообразно создавать методы setUp и tearDown?
Нужно заблокировать доступ к некоторым роутам в зависимости от ролиПересмотрел около 5-7 гайдов по Spring MVC Security, роуты blog/{id}, blog/new должны быть...
После обновления jdbc драйвера в Intellij Idea, выскакивает такая ошибка:
Работаю с блютузомПрежде чем получить список доступных устрйств проверяю на то что включен ли блютуз