首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用文件输入流时未找到文件异常

使用文件输入流时未找到文件异常
EN

Stack Overflow用户
提问于 2012-01-11 03:04:02
回答 2查看 4.2K关注 0票数 1

我正在尝试使用下面的代码将文件从我的硬盘驱动器加载到文件输入流。

代码语言:javascript
复制
package com.filefinder1;

import java.io.File;
import java.io.FileInputStream;
import android.app.Activity;
import android.os.Bundle;

public class FileFinder_1Activity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        try
        {
        String pathToFile = "C:\\\\Koala_Small.jpg";
        System.out.println("File Path: "+pathToFile);
        File file = new File(pathToFile);
         FileInputStream fileInputStream = new FileInputStream(file);
    }
    catch (Exception ex)
    {
    System.out.println("Error Catch Triggered: "+ex);
    }
    }
}

我在文件路径上尝试了一堆不同的变体,但什么都没有,所有内容都返回以下错误:

代码语言:javascript
复制
01-10 10:59:06.189: I/System.out(2218): Error Catch Triggered: java.io.FileNotFoundException: /C:\\Koala_Small.jpg (No such file or directory)

有些文件路径中似乎添加了一个额外的"/“(不确定原因)。在尝试将文件路径加载到文件变量之前,当我要求系统打印文件路径时,它返回:

代码语言:javascript
复制
01-10 10:59:06.189: I/System.out(2218): File Path: C:\\Koala_Small.jpg

我尝试了一系列不同的文件路径变体(小写的"c",两个斜杠而不是四个...)似乎没有什么能解决这个问题。有人知道这里可能出了什么问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-11 03:14:28

您应该将该文件放在android项目的assets目录中。

然后从您的活动中执行以下内容:

代码语言:javascript
复制
getAssets().open("Koala_Small.jpg");

这将返回您的输入流。

正如在评论中提到的,仿真器不能以您试图访问的方式访问您的pc文件系统。

票数 5
EN

Stack Overflow用户

发布于 2012-01-11 03:08:14

将该文件放在模拟器驱动器中,请仅使用2个斜杠作为路径

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8808964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档