próbuję zapisać plik txt w moim folderze, w pamięci wewnętrznej, ale twarz tego samego problemu za każdym razem:Zapisz plik wewnętrzny w moim folderze wewnętrznej w Androidzie
„Źródło Not Found”
Piszę mój kod na różne sposoby wyrażone tutaj w następujący sposób, ale pod każdym względem mam ten sam problem.
Warto powiedzieć, że nawet dodać
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
w manifest.xml że nie jest to konieczne dla pamięci wewnętrznej.
To trzeba powiedzieć, że nie ma żadnego problemu, aby zapisać pliki w /data/data/pakietów/plików drogi, ale kiedy dodać mój folder korzenia pliki na przykład /data/data/package/files/myforlder/myfile.txt Mam do czynienia z problemem "Source Not Found".
Czy możesz wskazać mi właściwy kierunek, aby rozwiązać ten problem?
Drugie pytanie dotyczy zapisu pliku w zewnętrznym folderze w pamięci zewnętrznej.
(na przykład: pamięć sdCard lub nośnik USB) to inny scenariusz lub to samo?
Pierwszy sposób:
OutputStreamWriter out;
try {
File path=new File(getFilesDir(),"myfolder");
File mypath=new File(path,"myfile.txt");
if (!mypath.exists()) {
out = new OutputStreamWriter(openFileOutput(mypath.getAbsolutePath() , MODE_PRIVATE));
out.write("test");
out.close();
}
}
Drugi sposób:
OutputStreamWriter out;
try {
ContextWrapper cw = new ContextWrapper(this);
File path = cw.getDir("myfolder", Context.MODE_PRIVATE);
if (!path.exists()) {
path.createNewFile();
path.mkdir();
}
File mypath=new File(path,"myfile.txt");
if (!mypath.exists()) {
out = new OutputStreamWriter(openFileOutput(mypath.getAbsolutePath() , MODE_PRIVATE));
out.write("test");
out.close();
}
}
Trzeci sposób:
File path=getFilesDir();
String mypath=path.toString() + "/myfolder";
OutputStreamWriter out;
try {
File f = new File(mypath , "/myfile.txt" );
out = new OutputStreamWriter(openFileOutput(f.getPath(), MODE_PRIVATE));
out.write("test");
out.close();
}
Fourth Way:
File path=getFilesDir();
OutputStreamWriter out;
try {
File f = new File(path.getPath() + "/myfolder/myfile.txt" );
out = new OutputStreamWriter(openFileOutput(f.getPath(), MODE_PRIVATE));
out.write("test");
out.close();
}
Piąty sposób:
File path=getFilesDir();
OutputStreamWriter out;
try {
File f = new File(path.getCanonicalPath() + "/myfile.txt");
out = new OutputStreamWriter(openFileOutput(f.getPath(), MODE_PRIVATE));
out.write("test");
out.close();
}
Podczas pisania pytania wybierz kod i naciśnij Ctrl + K, to autoindent i kolorowanie kodu , dzięki czemu jest znacznie bardziej czytelny. Nikt nie będzie chciał odczytać tego kodu w sposób niewidoczny i bezbarwny. –