0

我已经尝试了三天,但我无法让我的程序从这个文件或任何其他文件中读取。请帮忙!我已经尝试创建另一个项目并放置它也不起作用。

    TextView orangeTitle;
    String line;

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_gameplay);
    // Show the Up button in the action bar.
    setupActionBar();
    try {
        cardReader(null);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    setOrange();
}

public String cardReader(String args[]) throws IOException
{
    FileInputStream fis = new FileInputStream("C:\\Users\\Alex\\Documents\\Android Development\\HumorMe\\assets\\orangecards.txt");
    BufferedReader bfr = new BufferedReader(new InputStreamReader(fis));
    line = bfr.readLine();
    bfr.close();
    return line;
}

public void setOrange() 
{
    orangeTitle = (TextView)findViewById(R.id.textView1);
    orangeTitle.setText(line);
}
4

2 回答 2

0

看起来您正在尝试从计算机读取文件,这是不可能的,因为您的代码在单独的 Android 设备上运行。尝试将文本文件放在设备的 SD 卡上并运行类似的内容:

FileInputStream fis = new FileInputStream(Environment.getExternalStorageDirectory()+"/test.txt");
于 2013-05-06T20:58:29.623 回答
0

您无法通过 PC 上的路径访问您的资产。请参阅http://developer.android.com/reference/android/content/ContextWrapper.html#getAssets%28%29http://developer.android.com/reference/android/content/res/AssetManager.html了解如何访问资产文件。例如:

InputStream is = getAssets().open("orangecards.txt")
于 2013-05-06T21:05:01.990 回答