我必须从文件中导入表格(例如csv)。 我用了这段代码:
public void run ()
{
TextIO textIO;
str filename, fileOpen, folder;
int handle;
Io thisMYFile;
FileIoPermission perm;
#File
#avifiles
#OCCRetryCount
[handle, filename] = WINAPI::findFirstFile(folder + "\\*.csv");
fileOpen = strFmt (folder + "\\" + filename);
perm = new FileIoPermission(fileOpen, 'w');
perm.assert();
thisMYFile = new CommaTextIo(fileOpen , 'w');
}
但是在调试中,类 IO
thisMYFile 是 null ,所以我无法阅读和获取信息。< / p>
在我的class declaration
中,我扩展了 RunBaseBarch 。
如果我使用“普通”类(不是批处理),我可以读,写,移动文件等,但现在我无法打开。
我知道WinAPI
类在Batch中不起作用,现在我认为还有另一种批量读取/打开文件的方法吗?使用WinAPIServer
类我可以 findFirstFile 吗?
澄清一下,如果我没有安排批处理过程,我也会遇到同样的问题:批处理对话框中的标志批处理 false ,并且只点击了确定。 (示例图片)
如果您有教程,任何建议或帮助,
全心全意,
享受!
答案 0 :(得分:4)
请注意批处理在其他计算机上运行,AOS将无法访问您的本地文件 因此,请始终对文件使用完整的UNC file path,例如。 \\ MYHOST \ TEMP \ x.csv
如果"gulp demo MY_API_KEY=testest"
无法打开文件,它将返回new CommaTextIO
,它不会抛出异常。如果您不测试null
,您的代码将在以后失败。