2011-02-28 196 views
0

我想將以下輸出寫入文本文件。我知道這很容易,但我想我忘了一些基本知識。將輸出寫入文本文件

我試過使用'BufferedWriter',但我無法找到變量輸出傳遞給作者。誰能幫忙?你需要

import org.jsoup.Jsoup; 

import org.jsoup.helper.Validate; 

import org.jsoup.nodes.Document; 

import org.jsoup.nodes.Element; 

import org.jsoup.select.Elements; 

import java.io.BufferedWriter; 

import java.io.File; 

import java.io.FileWriter; 

import java.io.IOException; 

import java.io.Writer; 

import java.util.regex.Pattern; 


/** 
* Example program to list links from a URL. 
*/ 
public class SimpleWebCrawler { 

    public static void main(String[] args) throws IOException { 

     Validate.isTrue(args.length == 0, "usage: supply url to fetch"); 

     String url = "http://www.placeofjo.blogspot.com/"; 
     print("Fetching %s...", url); 


     Document doc = Jsoup.connect(url).get(); 

     Elements links = doc.select("a[href]"); 


     System.out.println("\n"); 


     for (Element link : links) { 

      print(" %s ", link.attr("abs:href"), trim(link.text(), 35)); 


     } 
    } 

    private static void print(String msg, Object... args) { 
     System.out.println(String.format(msg, args)); 
    } 

    private static String trim(String s, int width) { 
     if (s.length() > width) 
      return s.substring(0, width-1) + "."; 
     else 
      return s; 
    } 


} 
+0

「在此處輸入代碼」?預覽很難使用? – 2011-02-28 16:56:42

+0

「我試過使用緩衝讀取器」 - 緩衝讀取器用於文件輸入而不是文件輸出。 'BufferedWriter'會有意義。 – 2011-02-28 17:06:23

+0

對不起,我不習慣這個論壇.. ringbearer:是的..你讓我..這個問題有錯字錯誤..它應該是bufferedwriter..sorry .. – 2011-02-28 17:12:08

回答

2

一切都在這裏:http://www.exampledepot.com/egs/java.io/WriteToFile.html

try { 
    BufferedWriter out = new BufferedWriter(new FileWriter("outfilename")); 
    out.write("aString"); 
    out.close(); 
} catch (IOException e) { 
} 
+0

爲什麼你會吞下例外?!?你還應該使用* buffered * writer – 2011-02-28 17:05:51

+0

close()自動刷新作者,並且由於我不知道他在發生異常時想幹什麼,我不能爲他寫代碼...... – krtek 2011-02-28 17:07:35

3

修改代碼是這樣的:

BufferedWriter bw = new BufferedWriter(new FileWriter(new File("/path/to/file/name.txt"))); 
for (Element link : links) { 
    bw.write("Link: " link.text().trim()); 
    bw.write(System.getProperty("line.separator")); 
} 
bw.flush(); 
bw.close(); 
+0

bw .write(<你的消息字符串>)是指什麼? 對不起,我的代碼很差。 – 2011-02-28 17:07:02

+0

例如: bw.write(「Link:」+ link.text()。trim()); – 2011-02-28 17:11:06

+0

謝謝..我明白了..但是在輸出我得到的是鏈接堅持對方..我的意思是像 鏈接:http://www.twitter.com/jozefinfin/Link:http:// www.facebook.com/jozefinfin/ 我想它成爲 鏈接:http://www.twitter.com/jozefinfin/ 鏈接:http://www.facebook.com/jozefinfin/ 像一系列的鏈接..感謝 – 2011-02-28 17:34:57

0

退房java.io.FileWriter