Чтение файлов из каталогаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Чтение файлов из каталога

Сообщение Anonymous »

Недавно мне пришлось сделать приложение, которое должно читать файлы с устройства, например фотографии, видео, музыку и т. д. Когда я хотел открыть папку с загрузками, изображениями, музыкой или другую папку, моя программа не могла прочитать их. Все дело в том, что я вообще не могу получить доступ ни к каким файлам вне моего приложения, у меня не возникает никаких ошибок, например, если я хочу открыть папку «Загрузки», а затем получить список файлов, которые в ней находятся, с помощью списка (), он возвращает значение null.
Пожалуйста, помогите мне решить эту проблему.
MainActivity.java
public class MainActivity extends AppCompatActivity {
//private TextView t;
private Button bt;
private File File;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;

});

bt = findViewById(R.id.button);
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// val downloadFolder = requireContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS
System.out.println("btn_click!");
// String path = Environment.getExternalStorageDirectory().toString();

// System.out.println(path);
// if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
// ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 0);
// }

File f = new File("sdcard");
String[] s = f.list();
File sdcard = Environment.getExternalStorageDirectory();

//Get the text file

File file = new File(String.valueOf(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)));
String[] text = file.list();
//Read text from file

System.out.println(Arrays.toString(text));
}
// for(int i=0;i < f.length;i++){
// System.out.println(s);
// }

});
}

}

maniffect.xml



















Подробнее здесь: https://stackoverflow.com/questions/791 ... -directory
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»