我正在尝试引用存储在我的工作目录中的文件,以便可以使用开源例程“opencsv”读取和解析它。
以下行给出了 FileNotFoundException 错误:
CSVReader reader = new CSVReader(new FileReader("file.csv"), '\t');
我已经使用以下内容检查了工作目录:
String curDir = System.getProperty("user.dir");
这将返回值“\”,因此我已将文件“file.csv”放在项目的根目录中。我正在使用 Eclipse。有问题的文件不是只读的,设置为“存档”并且未标记为“派生”。
很明显,我是 Java 新手。在 Google 上搜索此问题表明我需要更改文件权限,但我想知道我是否遗漏了其他内容。我知道解决方案可能非常明显:S
这是完整的代码:
package mjd.listview.test;
import java.io.FileReader;
import java.util.List;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import au.com.bytecode.opencsv.CSVReader;
public class ListProjectActivity extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
CSVReader reader = new CSVReader(new FileReader("file.csv"), '\t');
List<String[]> myEntries = reader.readAll();
String[] terms = getResources().getStringArray(R.array.terms_array);
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, terms));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
Toast.LENGTH_SHORT).show();
}
});
}
}