创建的文件夹而不是文件

时间:2011-07-28 15:02:12

标签: android file-io

我想在定义的目录中创建一个文件,我尝试了这两个代码,但第一个只是创建文件夹,另一个输出异常:没有这样的文件或目录: 第一个代码:

File file = new File(Environment.getExternalStorageDirectory()
                                 +File.separator
                                 +"carbu" 
                                 +File.separator
                                 +"install"); 
                            file.mkdir();

然后我添加了这段代码,希望能够创建文件:

File file2 = new File("/carbu/install/","voitu");
file2.createNewFile();

有人可以试着帮助我吗? 非常感谢你:)。

5 个答案:

答案 0 :(得分:3)

在您的活动中尝试此操作:

FileOutputStream fos = openFileOutput(YOUR_FILE_NAME, Context.MODE_PRIVATE);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeInt(5);
oos.flush();

如果文件不存在,这将创建文件。当然,您应该关闭oosfos

答案 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();