Папка создана вместо файла - PullRequest
2 голосов
/ 28 июля 2011

Я хочу создать файл в определенном каталоге, я пробовал эти два кода, но первый просто создает папки, а другой выводит исключение: такого файла или каталога нет: Первый код:

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

Затем я добавил этот код, надеюсь, для создания файла:

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

Может кто-нибудь, пожалуйста, попытайтесь мне помочь?Большое спасибо:).

Ответы [ 5 ]

3 голосов
/ 28 июля 2011

Попробуйте в своей Деятельности:

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

Это создаст файл, если он не существует.Конечно, вы должны закрыть oos и fos.

1 голос
/ 28 июля 2011

Вот самое простое решение, работающее на 100%;)

File dir = new File (sdCard.getAbsolutePath() + "/jetpack/install");
                    dir.mkdirs();
                    File file = new File(dir, "wipe");
0 голосов
/ 28 июля 2011

Хотя вы были осторожны в правильном построении пути в первом сегменте, вы просто жестко запрограммировали неправильный путь во второй части.Убедитесь, что вы используете правильный путь, возможно, следующим образом:

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();
0 голосов
/ 28 июля 2011
  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());
    }
0 голосов
/ 28 июля 2011

вы пробовали:

  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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...