Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
Vanzar
0 / 0 / 1
Регистрация: 28.08.2014
Сообщений: 25
#1

Работа с файлами - Программирование Android

29.10.2014, 02:12. Просмотров 2104. Ответов 2
Метки нет (Все метки)

Все привет , у меня вопрос , я помню когда учил java там была такая функция для изменений файлов , так вот функцию я забыл а релеозовать надо на андроид помню что-то связано с ArryList и File, как мне сделать так чтобы по нажатию кнопки в одной папке файл удалялся а из другой папки по нажатию кнопки вставлялся в папку из которой был удален файл , если знаете как это рилеозовать в 1 кнопке то я прочитаю , а если с более чем 1 тоже почитаю .
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2014, 02:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с файлами (Программирование Android):

Работа с файлами - Программирование Android
Подскажите, как лучше всего работать с файлами, а именно записывать строку в файл и читать и где будут располагаться файлы. Просто у...

Работа с файлами - Программирование Android
У меня есть проблема , мне нужно чтобы из корневой папки андроид приложение копираволо файл и вставляло бы в память телефона ?

Работа с файлами - Программирование Android
Всем привет, мне нужно по нажатию на кнопку получить окно с музыкой на телефоне. Кто-нибудь может помочь? может быть есть какой то класс и...

Работа с файлами на эмуляторе - Программирование Android
Всем привет. У меня вопрос след. характера. Моя программа читает и создает xml файлы на андроиде. Но проблема в том, что я не знаю как...

Работа с файлами, музыкой - Программирование Android
Нужно реализовать извлечение музыки из памяти телефона в приложение и чтобы они добавлялись дальше в список, может быть есть какие-то...

Работа с файлами до 10мб - Программирование Android
Добрый день :senor: Подскажите способы\технологии работы с файлами на андроид решающие мою задачу. Мне необходимо писать в файл раз...

2
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
29.10.2014, 11:58 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ

Не по теме:

релеозовать - качественно исковеркал


курите в поиске именно File
тут класс, может чем поможет
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
 
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.os.Environment;
import android.provider.MediaStore;
 
public class MyFiles {
 
    public MyFiles(){
    }
    
    /**метод возвращающий путь к SD карте*/
    public String getSDPath(){
        String folder = "";
        String sdState = android.os.Environment.getExternalStorageState(); //Получаем состояние SD карты (подключена она или нет) - возвращается true и false соответственно
        if (sdState.equals(android.os.Environment.MEDIA_MOUNTED)){
            folder = Environment.getExternalStorageDirectory().toString();
        }
        return folder;
    }
    
    /**метод определения последней модификации файла или директории*/
    public long lastModified(String path) {
        File file = new File(path);
        return file.lastModified();
    }
 
    /**метод определения существования файла или директории*/
    public boolean exists(String path) {
        File file = new File(path);
        return file.exists();
    }
 
    /**метод создания директории*/
    public void createDir(String path2folder) {
        File file = new File(path2folder); //Создаем файловую переменную
        if (!file.exists()) { //Если папка не существует
            file.mkdirs();  //создаем её
        }
    }
 
    /**метод создания файла*/
    public boolean createFile(String path2file) {
        boolean result = false;
        File file = new File(path2file); //Создаем файловую переменную
        if (!file.exists()) { //Если не существует
            try{
                result = file.createNewFile();  //создаем
            }catch(IOException e){result = false;}
        }
        return result;
    }
    /**метод копирования файла или директории*/
    public boolean copy(String from, String to) {
        try {       
            File fFrom = new File(from);
            if (fFrom.isDirectory()) { // Если директория, копируем все ее содержимое
                createDir(to);
                String[] FilesList = fFrom.list();
                for (int i = 0; i <= FilesList.length; i++)
                if (!copy(from + "/" + FilesList[i], to + "/" + FilesList[i])){
                    return false; // Если при копировании произошла ошибка
                }
            } else if (fFrom.isFile()) { // Если файл просто копируем его
                File fTo = new File(to);
                InputStream in = new FileInputStream(fFrom); // Создаем потоки
                OutputStream out = new FileOutputStream(fTo);
                byte[] buf = new byte[1024];
                int len;
                while ((len = in.read(buf)) > 0) {
                    out.write(buf, 0, len);
                }
                in.close(); // Закрываем потоки
                out.close();
            }
        } catch (FileNotFoundException ex) { // Обработка ошибок
        } catch (IOException e) { // Обработка ошибок
        }
        return true; // При удачной операции возвращаем true
    }   
 
    /**метод удаления файла или директории*/
    public void delete(String path) {
        File file = new File(path); //Создаем файловую переменную
        if (file.exists()) { //Если файл или директория существует
            String deleteCmd = "rm -r " + path; //Создаем текстовую командную строку
            Runtime runtime = Runtime.getRuntime();  
            try {
                runtime.exec(deleteCmd); //Выполняем системные команды
            } catch (IOException e) {}
        }
    }
    
    /**метод перемещения файла или директории*/
    public boolean move(String from,String to){
        try {       
            File fFrom = new File(from);
            if (fFrom.isDirectory()) { // Если директория, копируем все ее содержимое
                createDir(to);
                String[] FilesList = fFrom.list();
                for (int i = 0; i <= FilesList.length; i++)
                if (!copy(from + "/" + FilesList[i], to + "/" + FilesList[i]))
                    return false; // Если при копировании произошла ошибка
                } else if (fFrom.isFile()) { // Если файл просто копируем его
                File fTo = new File(to);
                InputStream in = new FileInputStream(fFrom); // Создаем потоки
                OutputStream out = new FileOutputStream(fTo);
                byte[] buf = new byte[1024];
                int len;
                while ((len = in.read(buf)) > 0) {
                    out.write(buf, 0, len);
                }
                in.close(); // Закрываем потоки
                out.close();
            }
        } catch (FileNotFoundException ex) { // Обработка ошибок
        } catch (IOException e) {}
        String deleteCmd = "rm -r " + from; //Создаем текстовую командную строку в которой удаляем начальный файл
        try{
            Runtime runtime = Runtime.getRuntime();  
            runtime.exec(deleteCmd); //Выполняем удаление с помощью команд
        } catch (IOException e) {}
        return true; // При удачной операции возвращаем true
    }   
 
    /**метод считывания файла с sd-карты*/
    public String read_from_sd(String path2file){
        File sdFile = new File(path2file);
        String result = "";
        try {
            // открываем поток для чтения
            BufferedReader br = new BufferedReader(new FileReader(sdFile));
            String str = "";
            // читаем содержимое
            while ((str = br.readLine()) != null) {
                result += str;
            }
            br.close();
        } catch (FileNotFoundException e) {
        } catch (IOException e) {}
        return result;
    }
 
    /**метод возвращающий массив имен файлов в указанной папке path2folder по заданным расширениям ext в виде jpg|bmp|db*/
    public static String[] getFileListByExt(Context context, String path2folder, String ext){
        String str = path2folder;
        String result[] = {""};
        int j = 0;
        File file= new File(str);
        if (file.exists()) { //Если папка существует
            String mask = "([^\\s]+(\\.(?i)("+ext+"))$)";
            String[] fl = file.list();
            for(int i = 0; i < fl.length; i++){
                if (fl[i].matches(mask)) {
                    result[j] = fl[i];
                    j++;
                }
            }
        }
        return result;
    }
 
    /**метод возвращает текущее состояние SD карты - доступна или нет (существует или нет)*/
    public static boolean isExternalStorageAvailable() {
        //http://stackoverflow.com/questions/12721827/how-to-check-if-a-sd-card-has-been-inserted-to-the-tablet-or-not-android
        String state = Environment.getExternalStorageState();
        
        boolean mExternalStorageAvailable = false;
        boolean mExternalStorageWriteable = false;
 
        if (Environment.MEDIA_MOUNTED.equals(state)) {
            mExternalStorageAvailable = mExternalStorageWriteable = true;
        } else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
            mExternalStorageAvailable = true;
            mExternalStorageWriteable = false;
        } else {
            mExternalStorageAvailable = mExternalStorageWriteable = false;
        }
 
        if (mExternalStorageAvailable == true
                && mExternalStorageWriteable == true) {
            return true;
        } else {
            return false;
        }
    }   
 
    }
 
}
5
wack101
0 / 0 / 0
Регистрация: 01.11.2014
Сообщений: 6
01.11.2014, 17:27 #3
Спасибо!Помогло!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2014, 17:27
Привет! Вот еще темы с ответами:

Eclipse: работа с текстовыми файлами - Программирование Android
Добрый день, информации по этому вопросу мало, нашел простой текстовый редактор, но (из-за моей криворукости скорее всего) он не сохраняет...

Работа с файлами (radstudio c++builder) - Программирование Android
Подскажите, пожалуйста, работа с файлами в приложении на андроид (создание тхт файла, запись,удаление). так вот я попробовал так. ...

Работа с txt файлами в Android. Путь к файлу - Программирование Android
Здравствуйте! Уже 3ий день не могу разобраться с тем, как считывать из txt файла. Пишу на Java в IntelliJ IDEA. Я использую ф-ю...

Работа с файлами "налету" - Программирование Android
Доброго времени суток, уважаемые! Вопрос в следующем. Есть файл в облаке, как вариант грузим файл на dropbox Задача в том, чтобы...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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