我正在尝试加载文件并保存其中写入的内容,但我总是收到“打开失败: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将打开一个对话框,并要求您输入名称。
并写入“raw”,然后单击“确定”。打开res文件夹,你会在它下面找到你的raw文件夹。
然后您可以将 .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/