Загрузка данных
package com.example.myapplication;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
public class MainActivity extends AppCompatActivity {
EditText vvod, fail;
TextView text1;
RadioGroup radioGroup;
Button saveBtn, deleteBtn, openBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vvod = findViewById(R.id.vvod_text);
fail = findViewById(R.id.fail);
text1 = findViewById(R.id.textView3);
radioGroup = findViewById(R.id.radioGroup);
saveBtn = findViewById(R.id.save_text);
deleteBtn = findViewById(R.id.delete_text);
openBtn = findViewById(R.id.open_text);
// Привязка кнопок к методам (android:onClick в XML не нужен)
saveBtn.setOnClickListener(v -> save_text(v));
openBtn.setOnClickListener(v -> open_text(v));
deleteBtn.setOnClickListener(v -> delete_text(v));
}
private File getExternalFile() {
String FILE_NAME = fail.getText().toString();
return new File(getExternalFilesDir(null), FILE_NAME);
}
// Сохранить
public void save_text(View view) {
String FILE_NAME = fail.getText().toString();
int selectedId = radioGroup.getCheckedRadioButtonId();
if (selectedId == R.id.vnut) {
try (FileOutputStream fos = openFileOutput(FILE_NAME, MODE_PRIVATE)) {
String text = vvod.getText().toString();
fos.write(text.getBytes(StandardCharsets.UTF_8));
Toast.makeText(this, "Файл сохранен во внутреннее хранилище!",
Toast.LENGTH_SHORT).show();
} catch (IOException ex) {
Toast.makeText(this, "Ошибка: " + ex.getMessage(),
Toast.LENGTH_SHORT).show();
}
} else if (selectedId == R.id.vneh) {
File file = getExternalFile();
try (FileOutputStream fos = new FileOutputStream(file)) {
String text = vvod.getText().toString();
fos.write(text.getBytes(StandardCharsets.UTF_8));
Toast.makeText(this, "Файл сохранен во внешнее хранилище!"
+ file.getAbsolutePath(), Toast.LENGTH_SHORT).show();
} catch (IOException ex) {
Toast.makeText(this, "Ошибка сохранения: " + ex.getMessage(),
Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(this, "Ничего не выбрано ", Toast.LENGTH_SHORT).show();
}
}
// Открыть
public void open_text(View view) {
String FILE_NAME = fail.getText().toString();
int selectedId = radioGroup.getCheckedRadioButtonId();
if (selectedId == R.id.vnut) {
try (FileInputStream fin = openFileInput(FILE_NAME)) {
byte[] bytes = new byte[fin.available()];
fin.read(bytes);
String text = new String(bytes, StandardCharsets.UTF_8);
text1.setText(text);
Toast.makeText(this, "Файл загружен из внутреннего хранилища!",
Toast.LENGTH_SHORT).show();
} catch (IOException ex) {
Toast.makeText(this, "Ошибка чтения: " + ex.getMessage(),
Toast.LENGTH_SHORT).show();
}
} else if (selectedId == R.id.vneh) {
File file = getExternalFile();
if (!file.exists()) {
Toast.makeText(this, "Файл не существует во внешнем хранилище",
Toast.LENGTH_SHORT).show();
return;
}
try (FileInputStream fin = new FileInputStream(file)) {
byte[] bytes = new byte[(int) file.length()];
fin.read(bytes);
String text = new String(bytes, StandardCharsets.UTF_8);
text1.setText(text);
Toast.makeText(this, "Файл загружен из внешнего хранилища!",
Toast.LENGTH_SHORT).show();
} catch (IOException ex) {
Toast.makeText(this, "Ошибка чтения: " + ex.getMessage(),
Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(this, "Ничего не выбрано ", Toast.LENGTH_SHORT).show();
}
}
// Удалить
public void delete_text(View view) {
String FILE_NAME = fail.getText().toString();
int selectedId = radioGroup.getCheckedRadioButtonId();
if (selectedId == R.id.vnut) {
if (deleteFile(FILE_NAME)) {
Toast.makeText(this, "Файл удален из внутреннего хранилища!",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Файл не найден во внутр. хран. ",
Toast.LENGTH_SHORT).show();
}
} else if (selectedId == R.id.vneh) {
File file = getExternalFile();
if (file.exists()) {
if (file.delete()) {
Toast.makeText(this, "Файл удален из внешнего хранилища!",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Ошибка при удалении файла",
Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(this, "Файл не найден во внешнем хран. ",
Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(this, "Ничего не выбрано ", Toast.LENGTH_SHORT).show();
}
}
}