我想在定义的目录中创建一个文件,我尝试了这两个代码,但第一个只是创建文件夹,另一个输出异常:没有这样的文件或目录: 第一个代码:
File file = new File(Environment.getExternalStorageDirectory()
+File.separator
+"carbu"
+File.separator
+"install");
file.mkdir();
然后我添加了这段代码,希望能够创建文件:
File file2 = new File("/carbu/install/","voitu");
file2.createNewFile();
有人可以试着帮助我吗? 非常感谢你:)。
答案 0 :(得分:3)
在您的活动中尝试此操作:
FileOutputStream fos = openFileOutput(YOUR_FILE_NAME, Context.MODE_PRIVATE);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeInt(5);
oos.flush();
如果文件不存在,这将创建文件。当然,您应该关闭oos
和fos
。
答案 1 :(得分:1)
这是最简单的解决方案,100%工作;)
File dir = new File (sdCard.getAbsolutePath() + "/jetpack/install");
dir.mkdirs();
File file = new File(dir, "wipe");
答案 2 :(得分:0)
你试过了吗?
File f=new File("myfile.txt");
if(!f.exists())
{
f.createNewFile();
}
在您的示例中,您只提供文件的路径名,但您没有定义新文件的类型和名称。
http://download.oracle.com/javase/6/docs/api/java/io/File.html
还可以尝试以下内容:
String FILENAME = "/carbu/install/test.txt";
String string = "hello world!";
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close()
从http://developer.android.com/guide/topics/data/data-storage.html
获得上述示例答案 3 :(得分:0)
try {
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()){
File gpxfile = new File(root, "gpxfile.gpx");
FileWriter gpxwriter = new FileWriter(gpxfile);
BufferedWriter out = new BufferedWriter(gpxwriter);
out.write("Hello world");
out.close();
}
} catch (IOException e) {
Log.e(TAG, "Could not write file " + e.getMessage());
}
答案 4 :(得分:0)
虽然您在第一段中正确构造路径时非常小心,但您只是在第二部分中对错误路径进行了硬编码。确保使用正确的路径,可能如下:
String path = Environment.getExternalStorageDirectory().getAbsolutePath()
+File.separator
+"carbu"
+File.separator
+"install";
File file = new File(path);
file.mkdir();
File file2 = new File(path + File.separator + "voitu");
file2.createNewFile();