four systems Ответов: 1

Создание нескольких файлов с помощью объекта file


код, который должен создавать несколько файлов, таков

package FileSystem;

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

public class CreateFiles
{
    public static void main( String[] args ) throws IOException
    {	
        try
        {
        String[] Names = new String[20]; 
        Names[0] = "Android";
        Names[1] = "java";
        Names[2] = "computerscience";
        Names[3] = "satellite";
        Names[4] = "communication";
        Names[5] = "navigator";
        Names[6] = "science";
        Names[7] = "a";
        Names[8] = "b";
        Names[9] = "c";
        Names[10] = "d";
        Names[11] = "e";
        Names[12] = "f";
        Names[13] = "g";
        Names[14] = "h";
        Names[15] = "i";
        Names[16] = "j";
        Names[17] = "l";
        Names[18] = "m";
        Names[19] = "n";
        
        for(int j = 0; j<Names.length; j++)
        {
            File file = new File("F:\\" + Names + ".txt");                        	                    
        }
        }
        catch(Exception e)            
        {
            e.printStackTrace();
        }    
        finally
        {
        }
    }
}


там нет сообщения об ошибке, но файлы не создаются, аналогичный код для одного файла работает нормально, который является :

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

public class CreatesFile 
{
    public static void main( String[] args )
    {	
    	try {
    		 
	      File file = new File("c:\\newfile.txt");
	      
	      if (file.createNewFile()){
	        System.out.println("File is created!");
	      }else{
	        System.out.println("File already exists.");
	      }
	      
    	} catch (IOException e) {
	      e.printStackTrace();
	}
    }
}



задача состоит в том, чтобы создать несколько файлов с разными именами

Что я уже пробовал:

несколько раз менял код и искал

1 Ответов

Рейтинг:
10

Wendelius

Взгляните на создание файла

File file = new File("F:\\" + Names + ".txt");  

Вы ссылаетесь на сам массив, а не на отдельный элемент. Поэтому вы должны использовать свою переменную счетчика j чтобы указать индекс из массива


four systems

File file = new File("F:\\" + j + ".txt"); это то, что вы предлагаете, сделал то, что до сих пор не создает файлы, однако нашел другой способ с помощью

публичный класс ForFilesWriter
{

public static void main(String[] args) вызывает исключение IOException
{
BufferedWriter writer = null;
for(int i=1 ; i<=5 ; i++){
Строка fileName = "name" + i + ".txt";
PrintWriter printer = новый PrintWriter(имя файла, "UTF-8");
writer.write("Java является объектно-ориентированной");
писатель.рядом();
}}}

теперь хотелось бы создать файлы с именами, как у массива


публичный класс ForFilesWriter
{

public static void main(String[] args) вызывает исключение IOException
{
BufferedWriter writer = null;
String[] Names = новая строка[5];
Имена[0] = "Android";
Имена[1] = "java";
Имена[2] = "computerscience";
Имена[3] = "спутник";
Имена[4] = "коммуникация";
for(int i=1 ; i<=имена.длина ; i++){
String fileName = "name" + i + ".html";
PrintWriter printer = новый PrintWriter(имя файла, "UTF-8");
printer.write("Java является объектно-ориентированной");
writer.write("Java является объектно-ориентированной");
писатель.рядом();
}}}

Wendelius

Нет, это не то, что я предлагал.

Вы уже используете индексы при добавлении строк в массив. Вы используете индивидуальные значения таким же образом.

Попробуй

File file = new File("F:\\" + Names[j] + ".txt");    

four systems

импорт java.io.File;
импорт Java.Ио.Исключение IOException;

открытый класс CreateFiles
{
public static void main( String[] args ) вызывает исключение IOException
{
пробовать
{
String[] Names = новая строка[20];
Имена[0] = "Android";
Имена[1] = "java";
Имена[2] = "computerscience";
Имена[3] = "спутник";
Имена[4] = "коммуникация";
Имена[5] = "навигатор";
Имена[6] = "наука";
Имена[7] = "а";
Имена[8] = "b";
Имена[9] = "c";
Имена[10] = "d";
Имена[11] = "e";
Имена[12] = "f";
Имена[13] = "g";
Имена[14] = "h";
Имена[15] = "я";
Имена[16] = "j";
Имена[17] = "l";
Имена[18] = "m";
Имена[19] = "n";

for(int j = 0; j<имена.длина; j++)
{
File file = новый файл("F:\\" + Names[j] + ".txt");
}
}
catch(исключение e)
{
е.печатные();
}
наконец
{
}
}
}
"программа запускается, но файлы не создаются, и нет никакого esception"

Wendelius

Вам все равно придется позвонить в полицию. createNewFile метод, как вы сделали в своем примере в посте.

four systems

ничего себе, файлы созданы благодаря

Wendelius

Пожалуйста :)