java - Android 处理 |保存() "File contains a path separator"

标签 java android processing

我正在使用处理3.5.4。
我正在尝试将屏幕图像 save() 保存到 data/frames(相对于我的草图文件)。我使用的代码在 Java 模式下工作没有任何问题(我可以看到图像保存到我的计算机上的正确文件夹中),但是当在我的 Android 设备上运行它时,我得到 java.lang.IllegalArgumentException: File data/frames/frameasdf.tif 包含路径分隔符。我猜这是因为文件存储系统的差异。

除了将图像直接保存到草图文件夹中之外,还有什么方法可以避免路径分隔符? 我是 Java 新手(刚刚从 Javascript 转向更专业的开发),因此如果可能的话,请链接到任何有用的文档。

PImage drawing;
void setup() {
  size(displayWidth, displayHeight);
}

boolean clicked = false;
String name = "asdf";

void mouseReleased() {
  clicked = true;
}

void draw() {
  background(255);
  if(drawing != null) {
    image(drawing, 0, 0);
  }
  fill(0);
  noStroke();
  ellipse(mouseX, mouseY, 50, 50);
  if(clicked) {
    save("data/frames/frame" + name + ".tif");
    drawing = loadImage("frames/frame" + name + ".tif");
  }

  clicked = false;
}

这是我的代码的缩短版本。这是一个简单的程序,每当您单击时,都会在屏幕上添加一个点。
我确实计划在框架文件夹中保存多个框架。

最佳答案

我不太明白你的问题。您是否尝试将文件保存在特定应用程序文件或共享存储文件中?可以使用 Context.getExternalFilesDirs() 获取不同存储系统的根文件,该方法返回包含文件的 vector 。

您可以在此处开始阅读文档:Android storage

关于java - Android 处理 |保存() "File contains a path separator",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61053606/

相关文章:

java - 为什么函数会在循环中被多次调用?

java - 使用标志 CLEAR_TOP 时后台堆栈中的 Activity

Java:创建对象时,为什么界面不在右侧?

自定义ROM构建的Android书籍

android - 如何检测是否未通过我的链接安装特定应用程序

java - 如何在Papplet Java应用程序中显示可点击的超链接?

java - 为什么我没有 InputManager.getInstance()?和注入(inject)输入事件()?

java - 如何在android中以表格格式显示ArrayList数据

java - Android 8 位到 16 位负数表示

javascript - 如何选择 saveStrings() 的保存位置