我正在尝试在应用程序运行时将数据存储在文件中,以便在将其连接到PC时轻松将其从设备中取出。
现在,我可以创建文件并写入文件,但我的电脑无法看到该文件。
请注意,我真的不想使用DDMS,因为我会要求经验有限的人这样做。
我知道它正在编写文件,因为我可以在设备的文件管理器上看到它。如果我将文件复制到设备上的另一个目录中,我可以在计算机上看到它,但对于我的情况,这不是一个有效的解决方法。
这就是我所拥有的:
String fileName = "test";
String stuffToWrite = "testString";
try
{
File sdCard = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File dir = new File (sdCard.getAbsolutePath());
dir.mkdirs();
File file = new File(dir, fileName + ".csv");
file.setReadable(true,false);
FileOutputStream fOut = new FileOutputStream(file);
OutputStreamWriter osw = new OutputStreamWriter(fOut);
// Write the string to the file
osw.write(stuffToWrite);
/* ensure that everything is
* really written out and close */
osw.flush();
osw.close();
}
感谢您的时间。
答案 0 :(得分:0)
尝试添加file.createNewFile();
File file = new File(dir, fileName + ".csv");
file.createNewFile();
答案 1 :(得分:0)
以下示例将在Android外部存储根目录中创建一个名为“hello.txt”的文件:
package external.com;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
public class WriteExStorage extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String ex_storage_directory;
ex_storage_directory = Environment.getExternalStorageDirectory().toString();
File f = new File(ex_storage_directory, "hello.txt");
try
{
PrintWriter p = new PrintWriter(new FileWriter(f));
p.println("Hello External Storage!");
p.close();
}
catch(java.io.IOException e)
{
return;
}
}
如果外部存储设备不可用,则对getExternalStorageDirectory()的调用将失败。有关详细信息,请参阅getExternalStorageDirectory()。