Aşağıdaki gibi bir kod yazdığımda söz konusu string text dosyasının içerisinde tek satırda peş peşe yazdırılıyor. Daha önce java da text dosyası üzerinde işlem yapmadım. Bunu alt alta yazdırmak istiyorum, nasıl yapabilirim?

    public static void main(String[] args){

    try{
        Writer myBuffer;
        myBuffer = new BufferedWriter(new FileWriter("filename.txt",true));

        for(int i=1; i<=60; i++){
            Writer append;
            append = myBuffer.append("deneme");
        }

        myBuffer.close();
    } catch(IOException e){
    }
}

EDIT: Sonrasında kodu şöyle değiştirim fakat yine olmadı;

public static void main(String[] args){

    try{
        BufferedWriter output;
        output = new BufferedWriter(new FileWriter("filename.txt",true));

        for(int i=1; i<=60; i++){
            output.append("deneme");
        }

        output.close();
    } catch(IOException e){
    }
}

http://stackoverflow.com/questions/4614227/how-to-add-a-new-line-of-text-to-an-existing-file-in-java

Ayrıca stackoverflow'da aşağıdaki gibi bir örnek vardı fakat onda da netbeans şu mesajı verdi:

try-with-resources is not supported in -source 1.6 (use -source 7 or higher to enable try-with-resources) try-with-resources not applicable to variable type required: AutoClosable found: PrintWriter

Fakat cmd'ye java -version yazdığımda java version "1.07.0_07" yazısı karşıma çıkıyor.

Try: "\r\n"

Java 7 example:

try(PrintWriter output = new PrintWriter(new FileWriter("log.txt",true))) {
    output.printf("%s\\r\\n", "NEWLINE");
}  catch (Exception e) {}

soruldu: 22 Eki '12, 04:39

Timur%20Aykut%20YILDIRIM's gravatar image

Timur Aykut YILDIRIM
371325047
cevap kabul oranı: 14%

değiştirildi: 16 Kas '12, 06:40


BufferedWriter ın newLine() diye bir methodu varmış, append() methodundan sonra onu kullanınca oluyor.

işte örnek kod:

public static void main(String[] args){

try{
    BufferedWriter output;
    output = new BufferedWriter(new FileWriter("filename.txt",true));

    for(int i=1; i<=60; i++){
        output.append("deneme");
        output.newline();
    }

    output.close();
} catch(IOException e){
}

}

permanent link

cevaplandı: 22 Eki '12, 05:51

Timur%20Aykut%20YILDIRIM's gravatar image

Timur Aykut YILDIRIM
371325047
cevap kabul oranı: 14%

1

output.close(); çağrısını catch bloğundan sonra bir finally bloğuna yerleştirirsen kodun daha güvenli olur. Çünkü close() satırından önce bir hata meydana gelir ve catch bloğuna dallanırsa (filename.txt nin bulunamaması gibi) o zaman output açık kalır. Tabi bu güvenlik try veya catch içinde System.exit(0); gibi bir çağrı olursa kırılır.

(24 Eki '12, 12:05) baybatu baybatu's gravatar image
public static void main(String[] args) {

    try {
        BufferedWriter output;
        output = new BufferedWriter(new FileWriter("filename.txt", true));

        for (int i = 1; i <= 60; i++) {
            output.append("deneme");
            output.append("\\n");
        }

        output.close();
    } catch (IOException e) {
    }
}
permanent link

cevaplandı: 22 Eki '12, 05:22

mahmut_can's gravatar image

mahmut_can ♦
2.9k62552
cevap kabul oranı: 67%

değiştirildi: 25 Eki '12, 10:53

rahmanyazgan's gravatar image

rahmanyazgan ♦
4.4k83559

output.append("\n");

(22 Eki '12, 05:24) mahmut_can ♦ mahmut_can's gravatar image

çalışmıyor. peşpeşe deneme yazıyor sadece.

(22 Eki '12, 05:49) Timur Aykut YILDIRIM Timur%20Aykut%20YILDIRIM's gravatar image

output.append("deneme");
output.append("\\n");
yazan satırlar

output.append("deneme" + System.getProperty( "line.separator" ));

şeklinde düzenlenirse bu kodda istenileni yapar.

(25 Eki '12, 10:59) rahmanyazgan ♦ rahmanyazgan's gravatar image

Merhaba, Apache commons-io ile kolaylıkla yapabilirsiniz. Bu kütüphane içindeki FileUtils ile ben windows makinemin d sürücüsündeki bir dosya kullandığımı farzederek yazdım

File file = new File("d:/yayaye.txt");
FileUtils.write(file, System.getProperty("line.separator"),true);
FileUtils.write(file, "kokocambo", true);
FileUtils.write(file, System.getProperty("line.separator"),true);
FileUtils.write(file, "yayaye", true);
permanent link

cevaplandı: 24 Eki '12, 15:03

_____'s gravatar image

_____
146117
cevap kabul oranı: 0%

Ben dosya işlemlerinde alt satıra geçerek yazmak için PrintWriter sınıfını kullanıyorum. Örnek program parçası aşağıda:

public void writeFile(String filePath, String text1, String text2) {
    FileOutputStream file;
    PrintWriter out = null;
    try {
        file = new FileOutputStream(filePath);
        out = new PrintWriter(file);

        out.println(text1);
        out.println(text2);
    } catch (FileNotFoundException fileNotFoundEx) {
        fileNotFoundEx.printStackTrace();
    } finally {
        out.close();
    }
}
permanent link

cevaplandı: 25 Eki '12, 00:49

gceylan's gravatar image

gceylan
2166815
cevap kabul oranı: 0%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079

Soruldu: 22 Eki '12, 04:39

Görüntüleme: 4,772 kez

Son güncelleme: 16 Kas '12, 06:40

powered by BitNami OSQA