Форум программистов, компьютерный форум CyberForum.ru

Ошибка в методе именования файлов - Android

Восстановить пароль Регистрация
 
REALIST07
Автор FAQ
Автор FAQ
 Аватар для REALIST07
174 / 174 / 13
Регистрация: 11.06.2010
Сообщений: 932
16.08.2016, 12:36     Ошибка в методе именования файлов #1
Есть такой метод:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 public static String checkEqualName(String type,String name) {
        String path = getMediaFolder(type);
        File file = new File(path+name);
        int i = 1;
        String result = name;
        int start = name.lastIndexOf(".");
        int extCount = name.length() - start ;
        boolean exist = false;
        String ext = String.copyValueOf(name.toCharArray(),start,extCount);
        String nameWithoutExt = String.copyValueOf(name.toCharArray(),0,name.length() - extCount);
        while (file.exists()) {
            result = nameWithoutExt+"("+String.valueOf(i)+")";
            file = new File(path+result);
            i++;
            exist = true;
        }
 
        if (exist)
            return result+ext;
        else
            return result;
    }
Должно быть так: File.txt,File(1).txt,File(2).txt...
Но сейчас вот так: File.txt,File(1).txt и все и все остальные данные записываются в File(1).txt
Я уже не соображаю что-то...хелп

Добавлено через 10 часов 47 минут
Свою проблему сам решил:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 private static  int index = 1;
    public static String checkEqualName2(String type,String name) {
        String path = getMediaFolder(type);
        File file = new File(path+name);
        String result = name;
        int start = name.lastIndexOf(".");
        int extCount = name.length() - start ;
        boolean exist = false;
        String ext = String.copyValueOf(name.toCharArray(),start,extCount);
        String nameWithoutExt = String.copyValueOf(name.toCharArray(),0,name.length() - extCount);
        while (file.exists()) {
            result = nameWithoutExt+"("+String.valueOf(index)+")";
            file = new File(path+result);
            index++;
            exist = true;
        }
 
        if (exist)
            return result+ext;
        else
            return result;
    }
Нужно было вынести за метод переменную увеличения индекса и сделать статичной
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2016, 12:36     Ошибка в методе именования файлов
Посмотрите здесь:

Ошибка в методе onBackPressed Android
Android Как правильно присвоить переменным данные для использования с другом методе?
Как толкнуть одной фигурой другую в методе onDraw Android
Android Как вызвать другой результат try-catch в методе?
Цвет файлов в VCS - поменять синий цвет имен файлов Android
Android Нужно ли пользоваться префиксами m и s для именования переменных или это устарело?
Программа вылетает в методе OnCreate Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
16.08.2016, 12:56
  #2

Не по теме:

это было настолько очевидно, что не только я (мне так кажется) не стал ничего писать по этому поводу, а решил подождать пока проблема сама решится

REALIST07
Автор FAQ
Автор FAQ
 Аватар для REALIST07
174 / 174 / 13
Регистрация: 11.06.2010
Сообщений: 932
16.08.2016, 14:07  [ТС]     Ошибка в методе именования файлов #3
Паблито,

Не по теме:

ок, в следующий раз напишите очевидность и получите +1 if you like

Yandex
Объявления
16.08.2016, 14:07     Ошибка в методе именования файлов
Ответ Создать тему
Опции темы

Текущее время: 20:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru