Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 计算资产子文件夹中的文件数_Java_Android - Fatal编程技术网

Java 计算资产子文件夹中的文件数

Java 计算资产子文件夹中的文件数,java,android,Java,Android,我在assets文件夹中有一个名为s1的文件夹。其中大约有100个文本文件。我想数一数那个文件夹中有多少个文本文件 Caused by: java.lang.NullPointerException: Attempt to get length of null array 应用程序在启动时崩溃,出现以下错误:` Caused by: java.lang.NullPointerException: Attempt to get length of null array 以下是MainActiv

我在
assets
文件夹中有一个名为
s1
的文件夹。其中大约有100个文本文件。我想数一数那个文件夹中有多少个文本文件

Caused by: java.lang.NullPointerException: Attempt to get length of null array
应用程序在启动时崩溃,出现以下错误:`

Caused by: java.lang.NullPointerException: Attempt to get length of null array
以下是
MainActivity
中的代码:

Caused by: java.lang.NullPointerException: Attempt to get length of null array
    Integer fileCount = 0;
    fileCount = Integer.valueOf(new File("./assets/s1/").listFiles().length);


    for(int i=0;i<fileCount;i++) {

        Button btn = new Button(this);
        btn.setId(i+1);
        btn.setText("button "+(i+1));
        btn.setLayoutParams(lprams);
        final int index = i;
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Log.i("TAG", "The index is" + index);
            }
        });
        dynamicview.addView(btn);
    }
Integer fileCount=0;
fileCount=Integer.valueOf(新文件(“./assets/s1/”).listFiles().length);

对于(int i=0;i,您需要像这样访问资产:

Caused by: java.lang.NullPointerException: Attempt to get length of null array
fileCount = getResources().getAssets().list("s1").length;

getResources()
返回应用程序的
Resources
实例。对其调用
getAssets()
将返回
AssetManager
。文件系统中不存在资产中的文件,因此无法像普通文件一样打开和读取它们。

您需要像这样访问资产:

Caused by: java.lang.NullPointerException: Attempt to get length of null array
fileCount = getResources().getAssets().list("s1").length;
getResources()
返回应用程序的
Resources
实例。对该实例调用
getAssets()
,将返回
AssetManager
。文件系统中不存在资产中的文件,因此无法像普通文件一样打开和读取它们。

使用
getAssets().open(path);
Caused by: java.lang.NullPointerException: Attempt to get length of null array
如果没有子文件夹,则从资产层次结构中的文件夹名或文件名开始。

使用
getAssets()。打开(路径);
Caused by: java.lang.NullPointerException: Attempt to get length of null array

如果没有子文件夹,则从资产层次结构中的文件夹名或文件名开始。

是否尝试调试?例如,第2行的单独方法调用,然后查看
新文件(“…”)的值是多少,然后是
.listFiles()的值
等等?您不能对资产中的文件使用File类。而且使用的路径也是错误的。您最好用谷歌搜索如何从资产中读取文件。或者如何列出它们。您是否尝试过调试?例如,第2行的单独方法调用,然后查看
新文件(“…”)的值是多少。
.listFiles()的值
等等?您不能对资产中的文件使用File类。而且使用的路径也错误。您最好用谷歌搜索如何从资产中读取文件。或者如何列出资产。
Caused by: java.lang.NullPointerException: Attempt to get length of null array