在代号一中,为什么我不能让 FileInputStream 导入或编译?
In Codename One, why can I not get FileInputStream to import or compile?
这是我的进口商品:
import com.codename1.ui.*;
import com.codename1.ui.util.*;
import com.codename1.ui.plaf.*;
import com.codename1.ui.events.*;
import com.codename1.io.*;
import com.codename1.ui.layouts.*;
import java.io.*;
我无法编译此代码:
InputStream in = new FileInputStream("users.csv");
这是错误:
C:\Users\Isaac\Documents\NetBeansProjects\CodenameOne_TESTING\src\com\fakecompany\testapp\MyApplication.java:119: error: cannot find symbol
InputStream in = new FileInputStream("users.csv");
symbol: class FileInputStream
location: class MyApplication
我认为这可能是导入的问题,果然,当我专门导入时 java.io.FileImputStream
它给了我一个额外的错误:
C:\Users\Isaac\Documents\NetBeansProjects\CodenameOne_TESTING\src\com\fakecompany\testapp\MyApplication.java:13: error: cannot find symbol
import java.io.FileInputStream;
symbol: class FileInputStream
location: package java.io
这是怎么回事?我应该用其他方式在代号一中导入文件吗?如果我的代码不足以找到错误,请告诉我。
PS:我需要实现输入流以便解析 csv 文件:
CSVParser parser = new CSVParser();
String[][] data = parser.parse(in);
看起来代号一省略了 class - 我怀疑还有其他人。
根据文档判断,我怀疑您想使用 com.codename1.io.FileSystemStorage
class and its openInputStream
方法。
乔恩的回答是正确的,但不完整。问题是 CSV 文件实际存储在哪里...
如果文件在 src 文件夹(jar 的一部分)中,请使用 Display.getInstance().getResourceAsStream(getClass(), "/filename");
。
如果您下载了它,那么您很可能已将其下载到存储而不一定是文件系统(在移动设备中略有不同)。两者都有相当详细的 API 到 open/write 并且 Util
class 有一个很好的下载 API。请记住,您不能像在计算机中那样只是 "put" 设备上的文件,文件系统是完全不同的。
作为旁注,Codename One 有一个内置的 CSVParser
class 可能对你有用。
这是我的进口商品:
import com.codename1.ui.*;
import com.codename1.ui.util.*;
import com.codename1.ui.plaf.*;
import com.codename1.ui.events.*;
import com.codename1.io.*;
import com.codename1.ui.layouts.*;
import java.io.*;
我无法编译此代码:
InputStream in = new FileInputStream("users.csv");
这是错误:
C:\Users\Isaac\Documents\NetBeansProjects\CodenameOne_TESTING\src\com\fakecompany\testapp\MyApplication.java:119: error: cannot find symbol
InputStream in = new FileInputStream("users.csv");
symbol: class FileInputStream
location: class MyApplication
我认为这可能是导入的问题,果然,当我专门导入时 java.io.FileImputStream
它给了我一个额外的错误:
C:\Users\Isaac\Documents\NetBeansProjects\CodenameOne_TESTING\src\com\fakecompany\testapp\MyApplication.java:13: error: cannot find symbol
import java.io.FileInputStream;
symbol: class FileInputStream
location: package java.io
这是怎么回事?我应该用其他方式在代号一中导入文件吗?如果我的代码不足以找到错误,请告诉我。
PS:我需要实现输入流以便解析 csv 文件:
CSVParser parser = new CSVParser();
String[][] data = parser.parse(in);
看起来代号一省略了 class - 我怀疑还有其他人。
根据文档判断,我怀疑您想使用 com.codename1.io.FileSystemStorage
class and its openInputStream
方法。
乔恩的回答是正确的,但不完整。问题是 CSV 文件实际存储在哪里...
如果文件在 src 文件夹(jar 的一部分)中,请使用 Display.getInstance().getResourceAsStream(getClass(), "/filename");
。
如果您下载了它,那么您很可能已将其下载到存储而不一定是文件系统(在移动设备中略有不同)。两者都有相当详细的 API 到 open/write 并且 Util
class 有一个很好的下载 API。请记住,您不能像在计算机中那样只是 "put" 设备上的文件,文件系统是完全不同的。
作为旁注,Codename One 有一个内置的 CSVParser
class 可能对你有用。