【发布时间】:2019-07-23 19:31:07
【问题描述】:
我目前正在尝试将一些值保存在 Processing Android (APDE) 中的文本文件中。我想稍后在另一个上下文中使用它,所以使用完整的文件路径很重要。来自loadStrings() 的处理文档:
... 或者,可以从本地的任何位置加载文件 使用绝对路径的计算机(在 Unix 上以 / 开头的东西 和 Linux,或 Windows 上的驱动器号)
所以这一定是可能的。 我已经在寻找答案,但从未找到要处理的东西。 所以我的代码是:
String[] saveData;
int score;
void setup(){
saveData=loadStrings("/storage/emulated/0/dataP/hi.txt");
score=parseInt(saveData[0]);
fullScreen();
frameRate(60);
noStroke();
noSmooth();
textAlign(CENTER);
textSize(height/20);
}
void draw(){
background(0);
fill(255) ;
text(score, width/2,height/2);
}
void mousePressed(){
score--;
saveData[0]=str(score);
println(saveData[0]);
saveStrings("/storage/emulated/0/hi.txt" ,saveData);
}
我收到以下错误:
java.lang.IllegalArgumentException: File
/storage/emulated/0/dataP/hi.txt contains a path separator
【问题讨论】:
-
您的意思是写
dataP而不是data?顺便说一句,您确定这是一个有效的文件路径吗? -
这是一个我已经创建的目录(已经有一个
data文件夹,我想有一个专门用于此用途的文件夹) -
不,我不确定它是否是有效的文件路径。如果是这样的话,也许有人可以告诉我正确的吗?
-
听起来 api 方法调用只需要一个文件名,但您正在传递一个文件路径
-
@Zohaib Amir 我已经看过这篇文章,但它对我在处理中的问题没有帮助,因为他们的网站和其他网站上的一些其他帖子告诉我可以使用 loadStrings /saveStrings具有绝对文件路径的函数。
标签: android processing illegalargumentexception