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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Как наложить градиент на кнопку http://www.cyberforum.ru/android-dev/thread1794472.html
Как кнопку закрасить градиентом,тобишь наложить: <gradient android:startColor="#FF0000" android:endColor="#00FF00"> </gradient>
Android Как подобрать цвета Как сделать такую гамму цветов? http://www.cyberforum.ru/android-dev/thread1794450.html
Не удаётся создать проект в Эклипсе Android
Не получается создать андроид в Эклипсе. При попытке создания выдаёт ошибку "Errors occurred during the build. Errors running builder 'Android Resource Manager' on project 'NewProject'. java.lang.NullPointerException". На машине установлена Peppermint Tree.
Android Instagram
Всем привет, прошу прощения ,если не в тему!!! подскажет кто нибудь ресурс или программное обеспечение для продвижения акк. помощь коммерсантов не интересует,только личное изучение вопроса! за ранее благодарен!
Android Как отобразить в WebView сайт http://www.cyberforum.ru/android-dev/thread1794249.html
Сабж
Android Убpать веpхний Action Bar Как убpать веpхний баp?! подробнее

Показать сообщение отдельно
REALIST07
Автор FAQ
Автор FAQ
 Аватар для REALIST07
174 / 174 / 13
Регистрация: 11.06.2010
Сообщений: 932

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

16.08.2016, 12:36. Просмотров 122. Ответов 2
Метки (Все метки)

Есть такой метод:
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;
    }
Нужно было вынести за метод переменную увеличения индекса и сделать статичной
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru