netbeans 在Codename One中,为什么我无法导入或编译FileInputStream?

wn9m85ua  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(169)

以下是我的导入:

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);
qxsslcnc

qxsslcnc1#

看起来代号一号忽略了这个类--我怀疑还有其他类。
根据文档判断,我怀疑您希望使用com.codename1.io.FileSystemStorage类及其openInputStream方法。
你可能也想看video on storing data to persistent storage

ilmyapht

ilmyapht2#

Jon的答案是正确的,但只是部分。问题是CSV文件实际存储在哪里...
如果文件在src文件夹(jar的一部分)中,则使用Display.getInstance().getResourceAsStream(getClass(), "/filename");
如果你下载了它,那么很可能你下载到了存储器,而不一定是文件系统(在移动的中略有不同)。两者都有相当详细的API来打开/写入,Util类有一个很好的下载API。请记住,你不能像在电脑中那样把文件“放在”设备上,文件系统是非常不同的。
作为一个旁注,Codename One有一个内置的CSVParser类,它可能对您有用。

相关问题