在同一目录位置-Android studio中找不到文件夹的路径
我将一个名为在同一目录位置-Android studio中找不到文件夹的路径,android,file,android-studio,directory,file-exists,Android,File,Android Studio,Directory,File Exists,我将一个名为profiles的文件夹放在存储java文件的同一目录中 我试图查找文件夹,但出现“未找到”错误 String dir = getApplicationInfo().dataDir; Log.d("dir", dir); File folder = new File("/profiles"); // also tried File folder = new File(dir+"/profiles"); if (!folder.exists()) { Log.d("Not F
profiles
的文件夹放在存储java文件的同一目录中
我试图查找文件夹,但出现“未找到”错误
String dir = getApplicationInfo().dataDir;
Log.d("dir", dir);
File folder = new File("/profiles"); // also tried File folder = new File(dir+"/profiles");
if (!folder.exists()) {
Log.d("Not Found Dir", "Not Found Dir ");
} else {
Log.d("Found Dir", "Found Dir " );
}
印刷品
D/dir: /data/user/0/com.pakhocheung.o
D/Not Found Dir: Not Found Dir
然后我尝试列出该目录中的所有文件
String path = dir;
Log.d("Files", "Path: " + path);
File directory = new File(path);
File[] files = directory.listFiles();
Log.d("Files", "Size: "+ files.length);
for (int i = 0; i < files.length; i++) {
Log.d("Files", "FileName:" + files[i].getName());
}
似乎我在错误的目录中,因为我看不到那些文件。有什么建议吗?在
main
文件夹中创建assests
文件夹。将您的档案
文件夹放入资产
文件夹。要读取profiles
文件夹中的文件名,请使用此代码
String[] list = null;
try {
list = getAssets().list("profiles");
for (String file: list){
Log.d(TAG, "file name "+ file.toString());
}
} catch (IOException e) {
e.printStackTrace();
}
要从该文件夹读取文件,请使用以下命令
InputStream is = getAssets().open("profiles/example.txt");
我从未见过这种用法。尝试将文件夹放入资源或原始文件夹。如果我将文件放入资源,如何获取该路径?
file:///android_asset/profiles/
成功了吗?有什么问题吗?还没有成功。尝试我只是尝试字符串路径=”file:///android_asset/“
以查看所有文件。我得到一个java.lang.NullPointerException错误如果我可以使用getAssets().list(“profiles”)
查看所有文件,为什么File folder=new File(“file:///android_asset/profiles/");代码>显示不存在?感谢您的帮助您只能将此路径用于url
file:///android_asset/profiles/“
。例如,您可以在WebView
中使用它。您在配置文件中有哪些内容?你想用它们做什么?哦,我明白了。我需要调用路径来加载一些数据。参数应该是文件
或字符串
(路径)。我还尝试使用此函数将输入流
转换为文件
。但是获得一个java.lang.NullPointerException:尝试在空对象引用错误上调用虚拟方法“java.io.File[]java.io.File.listFiles()”。无论如何,谢谢你的帮助。我需要休息一下。如果我以后再弄明白,我会投票给你的答案。谢谢。
InputStream is = getAssets().open("profiles/example.txt");