2010-03-16 3 views
2

Я пытаюсь создать файл, используяКак работает создания файла в Java

Файл NewFile = новый файл («Myfile»);

Однако не создается файл под названием «myFile». Это в рамках проекта веб-приложения, т. Е. Правильной формы, которая будет использоваться как WAR, но я называю ее частью основного метода (просто чтобы увидеть, как это работает).

Как сделать так, чтобы новый файл был создан в месте относительно текущего. Не нужно вводить абсолютный путь.

РЕДАКТИРОВАТЬ:

newFile.createFile();

Не похоже на работу:

Вот весь код:

import java.io.File; 
import java.io.IOException; 

public class Tester { 

public static void main(String[] args) throws IOException{ 
    Tester test = new Tester(); 
    test.makeFile(); 
} 

public void makeFile() throws IOException{ 
    File newFile = new File("myFile"); 
    newFile.createNewFile(); 
    } 
} 
+0

Где я должен ожидать, что новый файл будет создан, - я бы ожидать, что она будет в той же папке, что и класс его называют из. – Ankur

+0

Нет, его в текущем рабочем каталоге. Используйте 'file.getAbsolutePath()', чтобы получить полный путь. – ZeissS

+0

Обратите внимание, что класс File представляет собой логическое представление файла, а не физическое представление на диске. Вам нужно будет использовать метод createNewFile(), который должен выполнить физическое создание, сказанное во многих ответах. –

ответ

4

В ответ на ваш комментарий. Файл будет создан в текущем каталоге процесса, если вы не указали иначе.

// new file in current directory 
File f = new File("yourFile"); 
f.createNewFile(); 
System.out.println("Path:" + f.getAbsolutePath()); 

Чтобы создать его в директорию по вашему выбору:

File f = new File("c:\\yourDirectory","yourFile"); 
f.createNewFile(); 
System.out.println("Path:" + f.getAbsolutePath()); 
2

вы могли бы использовать newFile.createNewFile();

+0

Ты быстро! :) LOL – Kiril

+0

Просто повезло ..;) – kukudas

+0

+1 за то, что повезло и хороший ответ, конечно! :) – Kiril