Простая программа PrintToFile - PullRequest
0 голосов
/ 25 ноября 2011

Я пытаюсь написать простую Java-программу на Eclipse, которая печатает эти четыре строки в файл "hello.txt".Проблема в том, что ничего не происходит, он не создает новый файл, и если я создаю файл с именем «hello.txt», программа не перезаписывает его.Что я делаю неправильно?Спасибо за ваши ответы.:)

import java.io.*;

public class output {
    {
        try{
            PrintStream output = new PrintStream(new File("hello.txt"));
            output.println("Hello World!");
            output.println("this is ");
            output.println("four lines of");
            output.println("text.");
        }catch(FileNotFoundException e){
            System.out.println("Cannot write file!");
        }
    }
}

Ответы [ 7 ]

2 голосов
/ 25 ноября 2011

Здесь есть несколько проблем:

  1. вам нужно закрыть поток вывода, когда вы закончите с output.close();
  2. Вашему классу нужен метод main void main(String[] argsвызывающая процедуру вывода
  3. Процедура вывода должна быть заключена в метод
1 голос
/ 25 ноября 2011
output.close();

или

output.flush();

Если вы не закроете свои потоки, они не будут сохранены на диск.

0 голосов
/ 25 ноября 2011

нужно написать output.close();

0 голосов
/ 25 ноября 2011

Сначала вы должны создать свой файл, если его там нет.После этого вы создаете PrintStream-Object и записываете содержимое, которое вам нравится.Наконец, не забудьте промыть и закрыть поток.

 try{
 File f = new File("C:/hello.txt");
 if (!f.exists()){
    f.createNewFile();
 }
 PrintStream output = new PrintStream(f);
 output.println("Hello World!");
 output.println("this is ");
 output.println("four lines of");
 output.println("text.");
 output.flush();
 output.close();
}catch(FileNotFoundException e){
  System.out.println("Fil kan ikke skrives!");
} catch (IOException e) {
  e.printStackTrace();
}
0 голосов
/ 25 ноября 2011

Я просто запускаю ваш код в Windows, помещая его в метод main, и он работает (он создает файл). попробуйте с абсолютным путем, возможно, вы проверяете неправильный каталог. Вам также следует позвонить

output.close();
0 голосов
/ 25 ноября 2011

Вы должны добавить output.close();

try{
            PrintStream output = new PrintStream(new File("hello.txt"));
            output.println("Hello World!");
            output.println("this is ");
            output.println("four lines of");
            output.println("text.");
            output.close();
        }catch(FileNotFoundException e){
            System.out.println("Cannot write file!");
        }
0 голосов
/ 25 ноября 2011

Правильный способ сделать это так:

import java.io.*;
class PrintStreamDemo {  
    public static void main(String args[]){ 
        FileOutputStream out; 
        PrintStream ps; // declare a print stream object

        try {
            // Create a new file output stream
            out = new FileOutputStream("myfile.txt");

            // Connect print stream to the output stream
            ps = new PrintStream(out);

            ps.println ("This data is written to a file:");
            System.err.println ("Write successfully");

            ps.close();
        } catch (Exception e){
            System.err.println ("Error in writing to file");
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...