Java 如何在Android中获取字符串数组的长度?

Java 如何在Android中获取字符串数组的长度?,java,android,string,split,inputstream,Java,Android,String,Split,Inputstream,我试着像这样从拆分字符串中获取字符串数组的长度 tombol.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String isi=""; try{ InputStream inputstream=getAssets().open("test.txt");

我试着像这样从拆分字符串中获取字符串数组的长度

tombol.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        String isi="";
        try{
            InputStream inputstream=getAssets().open("test.txt");
            int size=inputstream.available();
            byte[] buffer=new byte[size];
            inputstream.read(buffer);

            isi=new String(buffer);
        }
        catch(IOException e){
            e.printStackTrace();
        }
        String[] isiv2=isi.split("\n");
        int size=isiv2.length;
        txt.setText(size);
    }
});
我把绳子劈开,想把它的长度插进去

String[] isiv2=isi.split("\n");
int size=isiv2.length;
txt.setText(size);
但它返回一个错误

android.content.res.Resources$NotFoundException:字符串资源ID 0x4

我做错了什么?

您使用

txt.setText(size);
这将尝试执行

这会将大小解释为资源id,而不显示整数

当你使用

txt.setText(String.valueOf(size));

它将大小作为字符串传递,调用该字符串将大小显示为字符串。

您发布的错误很可能不是由您发布的代码引起的。它是由他提供的代码引起的。注意:不要这样编写代码。取决于前一个try块中代码成功与否的代码应该在该try块中。并且不要忽略read返回的值。它应该是int count=inputstream.readbuffer;isi=新Stringbuffer,计数@这是由我发布的代码引起的谢谢你的解释,我会记得我没有意识到这一点。谢谢问题解决