Ответ 1
File dir = new File("tmp/test");
dir.mkdirs();
File tmp = new File(dir, "tmp.txt");
tmp.createNewFile();
BTW: для тестирования используйте классы @Rule и TemporaryFolder для создания временных файлов или папок
Я хочу создать файл в новом каталоге, используя относительный путь. Создание каталога "tmp" достаточно просто.
Однако, когда я создаю файл, он просто находится в текущем каталоге, а не в новом. Ниже приведена строка кода.
File tempfile = new File("tempfile.txt");
Попробовали это также:
File tempfile = new File("\\user.dir\\tmp\\tempfile.txt");
Ясно, что я не понимаю, как работает этот метод. Ваша помощь очень ценится.
EDIT: добавленная в настоящее время используемая строка кода, а также та, которая, как я думаю, может работать для относительного пути для устранения путаницы.
File dir = new File("tmp/test");
dir.mkdirs();
File tmp = new File(dir, "tmp.txt");
tmp.createNewFile();
BTW: для тестирования используйте классы @Rule и TemporaryFolder для создания временных файлов или папок
Вы можете создавать пути относительно каталога с конструкторами, которые принимают два аргумента: http://docs.oracle.com/javase/6/docs/api/java/io/File.html
Например:
File tempfile = new File("user.dir/tmp", "tempfile.txt");
Кстати, обратная косая черта "\" может использоваться только в Windows. Почти во всех случаях вы можете использовать переносимую косую черту "/".
String routePath = this.getClass().getClassLoader().getResource(File.separator).getPath();
System.out.println(routePath);
/*for finding the path*/
String newLine = System.getProperty("line.separator");
BufferedWriter bw = new BufferedWriter(new FileWriter(new File(routePath+File.separator+".."+File.separator+"backup.txt"), true));
/*file name is backup.txt and this is working.*/
Скажем, у вас в папке проекта "Локальное хранилище" , и вы хотите поместить текст или любой другой файл с помощью файла записи.
File file = new File(dir,fileName ); //KEY IS DIR ex."./local-storage/" and fileName='comp.html'
// if file doesnt exists, then create it
if ( ! file.exists( ) )
{
file.createNewFile( );
}
FileWriter fw = new FileWriter( file.getAbsoluteFile( ) );
BufferedWriter bw = new BufferedWriter( fw );
bw.write( text );