four systems Ответов: 1

Java создает файлы и добавляет к ним строку


код,который создает несколько файлов и записывает в него строку, пока здесь код не работает нормально и не создает пять файлов с именами name1.txt...,name5.txt
public static void main(String[] args) throws IOException
{ 
  BufferedWriter writer = null;
  for(int i=1 ; i<=5 ; i++){
  String fileName = "name" + i + ".txt";


но когда пишут строку к нему

package Io;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.logging.Level;
import java.util.logging.Logger;

public class ForFilesWriter 
{      

public static void main(String[] args) throws IOException
{ 
  BufferedWriter writer = null;
  for(int i=1 ; i<=5 ; i++){
  String fileName = "name" + i + ".txt";
  PrintWriter printer = new PrintWriter(fileName, "UTF-8");  
  writer.write("Java is object oriented");
  writer.close();
}}} 


Цитата:
обман заключается в следующем

Цитата:
Исключение в потоке "main" java.lang.Исключение NullPointerException
на Ио.ForFilesWriter.main(ForFilesWriter.java:27)
C:\Users\Admin\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java возвращается: 1
Ошибка сборки (общее время: 0 секунд)


предполагается, что код создаст пять различных файлов и запишет в них строку

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

изменен код и добавлены различные комбинации

Maciej Los

Ну, вы определенно изменили код из решения: Запись в несколько файлов с помощью java[^]
Издания не поддерживает кодировку.

1 Ответов

Рейтинг:
9

Jochen Arndt

Вы пытаетесь написать и закрыть книгу. BufferedWriter объект writer которая никогда не была создана. Используйте PrintWriter объект printer вместо:

PrintWriter printer = new PrintWriter(fileName, "UTF-8");  
//writer.write("Java is object oriented");
//writer.close();
printer.write("Java is object oriented");
printer.close();


four systems

спасибо