Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将文件保存到sd卡_Java_Android_Android Sdcard - Fatal编程技术网

Java 将文件保存到sd卡

Java 将文件保存到sd卡,java,android,android-sdcard,Java,Android,Android Sdcard,我怎样才能听到在将文件保存到sd卡时按下的按钮的名称?我有许多不同的按钮和一种方法 File file = new File(SDCardRoot,"/Download/Alnabi.pdf"); 如果有人单击第一个按钮,我希望alnabi.pdf保存到sd卡,但是如果我单击第二个按钮会怎么样?我想根据单击的按钮将文件名“alnabi.pdf”更改为另一个文件名,谢谢。您必须为两个按钮提供不同的功能。但是为了保持代码的可维护性,我建议重用代码,这对于所有/两个按钮都很常见(通过定义一个方法)

我怎样才能听到在将文件保存到sd卡时按下的按钮的名称?我有许多不同的按钮和一种方法

File file = new File(SDCardRoot,"/Download/Alnabi.pdf");

如果有人单击第一个按钮,我希望alnabi.pdf保存到sd卡,但是如果我单击第二个按钮会怎么样?我想根据单击的按钮将文件名“alnabi.pdf”更改为另一个文件名,谢谢。

您必须为两个按钮提供不同的功能。但是为了保持代码的可维护性,我建议重用代码,这对于所有/两个按钮都很常见(通过定义一个方法)

代码可能类似于:

button1.addActionListener(e -> saveFile("Alnabi.pdf")); // Java8-Syntax   
button2.addActionListener(e -> saveFile("AnotherOne.pdf"));
以及包含公共代码的方法:

public void saveFile(String variableFileName) {
    File file = new File(SDCardRoot,"/Download/"+variableFileName);
    ...
}

首先编写一段代码,检查外部存储器是否可用于读/写操作 方法检查用户是否具有在外部存储器上写入的权限

public static boolean canWriteOnExternalStorage() {
// get the state of your external storage
 String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
// if storage is mounted return true
  Log.v(“sTag”, “Yes, can write to external storage.”);
  return true;
 }
return false;
}
使用此代码保存文件

File sdcard = Environment.getExternalStorageDirectory();
File dir = new File(sdcard.getAbsolutePath() + “/your-dir-name/”);
dir.mkdir();
File file = new File(dir, “My-File-Name.txt”);
FileOutputStream os = outStream = new FileOutputStream(file);
String data = “This is the content of my file”;
os.write(data.getBytes());
os.close();
需要以下权限

<uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” />

这是无效的JavaScript语法。你说的是Java吗?