Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.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 为什么在Android studio中尝试打开inputstream时会出现错误未处理异常?(代码张贴在描述中)_Java_Android_Android Studio - Fatal编程技术网

Java 为什么在Android studio中尝试打开inputstream时会出现错误未处理异常?(代码张贴在描述中)

Java 为什么在Android studio中尝试打开inputstream时会出现错误未处理异常?(代码张贴在描述中),java,android,android-studio,Java,Android,Android Studio,我正在尝试以inputstream的形式读取文件,以便用其他数据填充该文件。然后,这些数据将被发送到第二个活动,该活动将打开数据并将其显示在屏幕上这是我的代码 package com.example.daniel.finalproject; import android.content.Intent; import android.content.res.AssetManager; import android.net.Uri; import android.renderscript.Scri

我正在尝试以inputstream的形式读取文件,以便用其他数据填充该文件。然后,这些数据将被发送到第二个活动,该活动将打开数据并将其显示在屏幕上这是我的代码

package com.example.daniel.finalproject;

import android.content.Intent;
import android.content.res.AssetManager;
import android.net.Uri;
import android.renderscript.ScriptGroup;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.appindexing.Thing;
import com.google.android.gms.common.api.GoogleApiClient;

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;

public class Secondactivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.secondactivity);

    }

    public void Proceed(View view) {
        AssetManager am = getAssets();
        InputStream is = am.open("madlibsimple.txt");
        Story story = new Story(is);
        EditText editText = (EditText)findViewById(R.id.word);
        String text;
        story.toString();
        while (!story.isFilledIn()) {

            story.read(is);
            story.getNextPlaceholder();
            text = editText.getText().toString();
            story.fillInPlaceholder(text);
            }

        Intent intent = new Intent(this,   Thirdactivity.class).putExtra("story",story);
        startActivity(intent);

        }

    }
但是这一行:
InputStream=am.open(“madlibsimple.txt”)
返回错误。madlibsimple.txt在assetsfolder中,但我
不知道出了什么问题。任何帮助都将不胜感激。

打开(字符串文件)
可能会抛出错误(我希望
IOException
),您必须用

try {
    AssetManager am = getAssets();
    InputStream is = am.open("madlibsimple.txt");
    Story story = new Story(is);
    EditText editText = (EditText)findViewById(R.id.word);
    String text;
    story.toString();
    while (!story.isFilledIn()) {

        story.read(is);
        story.getNextPlaceholder();
        text = editText.getText().toString();
        story.fillInPlaceholder(text);
        }

    Intent intent = new Intent(this,   Thirdactivity.class).putExtra("story",story);
    startActivity(intent);
} catch (Exception e) {
    e.printStacktrace();
}
声明

这整个主题不是关于什么出错,而是什么可能出错


有关异常和错误处理主题的更多信息,请单击

我相信错误已经解决,但我仍然在madlipsimple.txt下看到一条卷曲的线,表示我犯了一个我没有犯过的错误。我想这就是我的程序在第二次活动中崩溃的原因。这几乎是我的第二个活动代码
String in=getIntent().getStringExtra(“故事”);TextView TextView=(TextView)findViewById(R.id.TextView);textView.append(在中);对不起,我弄错了。您必须在继续函数中包含所有内容,但这并不能改变您必须捕获getAssets()引发的异常的事实;仍然坚持文件名不正确,尽管您曾经创建过文件并向其写入数据吗?每次播放的文件名是否相同?第二个活动中的代码:String in=getIntent().getStringExtra(“故事”);TextView TextView(TextView)findViewById(R.id.TextView);textView.append(在中);我还是不确定,你想做什么。是否要将数据从一个活动发送到另一个活动?