java - 加载txt文件->打开失败: ENOENT (No such file or directory).我很确定问题不是路径,但我找不到错误

标签 java android file path enoent

我正在尝试加载文件并保存其中写入的内容,但我总是收到“打开失败:ENOENT”。该文件与 java 文件位于同一文件夹中。其余代码工作得很好,如果我单独运行方法 read()。

public class MainActivity extends AppCompatActivity {

    ListView list;
    Intent intent;

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


        intent = new Intent(this, Second_activity.class);

        list = (ListView) findViewById(R.id.listView);

        System.out.println(read());

        String [] dati = {};

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, dati);

        list.setAdapter(adapter);
        list.setOnItemClickListener(listener);
    }

    private AdapterView.OnItemClickListener listener = new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView parent, View view, int position, long id) {
            String itemValue = (String) list.getItemAtPosition(position);
            intent.putExtra("listValue", itemValue);
            startActivity(intent);
        }
    };

    public String read(){
        String data = null;
        try {
            File myObj = new File("com/example/myapplication2/calendario.txt");
            Scanner myReader = new Scanner(myObj);
            while (myReader.hasNextLine()) {
                data = myReader.nextLine();
            }
            myReader.close();
        } catch (Exception e) {
            System.out.println("An error occurred.");
            e.printStackTrace();
        }
        return data;
    }
}

最佳答案

您的文件位于您的android studio项目路径中,然后您需要将其放在正确的位置原始文件夹,然后以正确的方式获取它。 File("....") 用于设备路径中的文件。

开始。

您需要将文件移至resource/raw文件夹,要创建此文件夹,只需右键单击res文件夹,选择新建>目录,然后studio将打开一个对话框,并要求您输入名称。

enter image description here

并写入“raw”,然后单击“确定”。打开res文件夹,你会在它下面找到你的raw文件夹。

enter image description here

然后您可以将 .txt、.mp3 等文件放入此文件夹中,并使用此代码或类似代码来获取文件。

InputStreamReader inputStream = new InputStreamReader(getResources().openRawResource(R.raw.calendario))
BufferedReader reader = new BufferedReader();
String line = reader.readLine();
while (line != null) { ... }

关于java - 加载txt文件->打开失败: ENOENT (No such file or directory).我很确定问题不是路径,但我找不到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60673393/

相关文章:

java - 使用 "id"字段更新列表的子部分

java - 如何从独立的 Java 类将文件上传到 Struts?

Android - 仅在发布构建变体上执行 Gradle 任务

Android,查找目录大小的快速有效方法?

java - 使用java计算tif图像文件的页数

java - 此 JSON 的 Json 输入路径表达式

java - 如何返回 DataSnapshot 值作为方法的结果?

android - Playn:无法为任何 Playn 演示成功部署 Android 配置文件

android - 在 aChartEngine 中平移时条与 Y 轴重叠

c - 从文件读取时填充 malloc 数组