2016-01-17 5 views
0

Я пытаюсь записать текст в html-файл в качестве вывода с помощью PrintWriter, и текст не сохраняется в файле.PrintWriter не писал файл, но я закрыл писателя? (java)

import java.util.Random; 
import java.util.*; 
import java.io.PrintWriter; 
import java.io.File; 
import java.io.FileNotFoundException; 
public class Creator 
{ 
static ArrayList<Character> grid = new ArrayList<Character>(); 
public static void main(String[]args) throws FileNotFoundException 
{ 
    char[] alphabet={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; 

    for(int row=0;row<625;row++) 
    { 
      grid.add(alphabet[RandGen(0,25)]); 
      //System.out.print(grid.get(out)); 
    } 
    Creator.Output(); 
    System.out.println("Executed."); 
} 
public static int RandGen(int min, int max) 
{ 
    Random ran = new Random(); 
    int randomNum = ran.nextInt(max) + min; 
    return randomNum; 
} 
public static void Output()throws FileNotFoundException 
{ 
    //File file=new File("wsm.html"); 
    //File.createNewFile(); 
    PrintWriter writer = new PrintWriter("wordsearchmaker.html"); 
    writer.println("<html>"); 
    writer.println("<table>"); 
    writer.println("tr"); 
    for(int j=0;j<25;j++) 
    { 
     //for(int k=0;k<25;k++) 
    // { 
      System.out.println("<th>"+grid.get(j)); 
      writer.println("<th>"+grid.get(j)); 
    // } 

    } 
    writer.flush(); 
    writer.close(); 

    System.out.println("Outputting..."); 
} 

} 

Таким образом, я проверил, что эти методы все работает (отсюда «вывод ...»), и я system.out.printed содержания, что я собираюсь написать в файл, который выводит именно то, что я хочу. Он должен выводить html-код в html-файл (named wordsearchmaker.html), но ничего не сохраняется в файле. Повсюду я смотрел онлайн, только что сказал, чтобы я закрыл писателя, что и сделал.

Примечание: Я работаю в затмении, которое всегда было изворотливым со мной, так что я, возможно, что-то возился с ним? Я обычно не работаю в затмении, так что это вполне возможно.

+0

Это файл, но без какого-либо контента? Или вы не можете найти файл? Я запускаю код выше, и он создает файл с ~ 30 строками в нем (с '' и т. Д.) –

+0

Я создал файл для его редактирования, и когда я его запустил, никаких изменений в файле нет. –

+0

Когда вы создали файл для редактирования, вы, скорее всего, смотрите на неправильный файл. Предоставьте полный путь к «новому PrintWriter (« wordsearchmaker.html »)», чтобы убедиться. – Tom

ответ

0

Похоже, вы открыли PrintWriter, который позволяет отправлять данные в файл. Но вы фактически не открыли и не создали файл.

Попробуйте сначала создать новый файл и его модификации:

import java.io.File; 

File newFile = new File ("LOCATION OF FILE"); 

Затем установите PrintWriter использовать NewFile.

+0

Нет, это не обязательно. – Tom