Java ';没有这样的文件或目录';Filereader上的错误-Android
我试图在Android上的SQLite数据库中导入CSV,目的是让用户选择CSV文件 我在:Java ';没有这样的文件或目录';Filereader上的错误-Android,java,android,Java,Android,我试图在Android上的SQLite数据库中导入CSV,目的是让用户选择CSV文件 我在:FileReader file=newfilereader(fileName)上收到一个enoint错误 文件确实存在,因为我从意图中获得了路径 我的清单包括: <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 我的onActivityResult(…): Intent intent = n
FileReader file=newfilereader(fileName)上收到一个enoint错误代码>
文件确实存在,因为我从意图中获得了路径
我的清单包括:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
我的onActivityResult(…):
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("text/csv");
if (intent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(intent, REQUEST_CVS);
if (resultCode == RESULT_OK) {
File myPath_CSV = new File(data.getData().toString());
try {
myDb.importCSV(myPath_CSV);
} catch (IOException e) {
e.printStackTrace();
}
}
public void importOreilles(File fileName) throws IOException {
Log.w(TAG, fileName.toString());
FileReader file = new FileReader(fileName); // Getting an error !!!
BufferedReader buffer = new BufferedReader(file);
String line = null;
while ((line = buffer.readLine()) != null) {
String[] str = line.split(",");
insertOreille(str[0],str[1]); // Dealing with my database
}
}
W/DBAdapter: file:/storage/emulated/0/Download/Oreilles.csv
W/System.err: java.io.FileNotFoundException: /file:/storage/emulated/0/Download/ABCDE.csv: open failed: ENOENT (No such file or directory)
我的导入SV(文件名):
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("text/csv");
if (intent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(intent, REQUEST_CVS);
if (resultCode == RESULT_OK) {
File myPath_CSV = new File(data.getData().toString());
try {
myDb.importCSV(myPath_CSV);
} catch (IOException e) {
e.printStackTrace();
}
}
public void importOreilles(File fileName) throws IOException {
Log.w(TAG, fileName.toString());
FileReader file = new FileReader(fileName); // Getting an error !!!
BufferedReader buffer = new BufferedReader(file);
String line = null;
while ((line = buffer.readLine()) != null) {
String[] str = line.split(",");
insertOreille(str[0],str[1]); // Dealing with my database
}
}
W/DBAdapter: file:/storage/emulated/0/Download/Oreilles.csv
W/System.err: java.io.FileNotFoundException: /file:/storage/emulated/0/Download/ABCDE.csv: open failed: ENOENT (No such file or directory)
我遇到的错误:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("text/csv");
if (intent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(intent, REQUEST_CVS);
if (resultCode == RESULT_OK) {
File myPath_CSV = new File(data.getData().toString());
try {
myDb.importCSV(myPath_CSV);
} catch (IOException e) {
e.printStackTrace();
}
}
public void importOreilles(File fileName) throws IOException {
Log.w(TAG, fileName.toString());
FileReader file = new FileReader(fileName); // Getting an error !!!
BufferedReader buffer = new BufferedReader(file);
String line = null;
while ((line = buffer.readLine()) != null) {
String[] str = line.split(",");
insertOreille(str[0],str[1]); // Dealing with my database
}
}
W/DBAdapter: file:/storage/emulated/0/Download/Oreilles.csv
W/System.err: java.io.FileNotFoundException: /file:/storage/emulated/0/Download/ABCDE.csv: open failed: ENOENT (No such file or directory)
我尝试使用getAbsolutePath、Uri、文件。。。但是我被卡住了
谢谢你的帮助
文件确实存在,因为我从意图中获得了路径
您决定不提供实际的“意图”以及如何使用它。我猜这是动作\u获取内容
。在这种情况下,您将返回一个Uri
(data.getData()
)。读入该Uri
指向的内容。您可以将其包装在一个InputStreamReader
中,以便与现有的基于的代码一起使用。刚刚添加了我的意图(intent.ACTION\u GET\u CONTENT)@Tibo:返回的Uri
可以有一个文件
或内容
方案ContentResolver
和openInputStream()
将处理这两种情况,假设在文件的情况下,
。从您的链接中,我认为我的问题是我对什么是Uri缺乏理解。我要去看看openInputStream,我还是迷路了。假设我使用InputStream is=getContentResolver().openInputStream(Uri\u CSV)
。我应该如何使用is
读取CSV文件的行?@Tibo:正如我在回答中所写的,您可以将其包装在InputStreamReader
中,以便与您现有的CSV代码一起使用。或者,使用CSV库。