由於要將爬蟲的結果寫到文件裡,就自己晚上搜了一點資料,看了別人的博客,補充了一點文件的基礎知識,現將其整理如下,供大家參考
Java文件的寫入和讀出有很多種方法我所介紹的主要是Read/Writer,OutputStream/InputStream
一:Read/Writer
由於Java本身可以導入許多包,在這裡可以直接調用Java的io,語句是 import java.io;
本人是將FileWriter和FileRead理解為一個類,分別定義了兩個對象,FileWriter gyt = new FileWriter("Thinkgamer.txt");
FileReader out = new FileReader("Thinkgamer.txt");
使用gyt.write(str,int,int)將其寫入到.txt格式的文件裡,再用ch = out.read()將其輸出。
其完整代碼如下:
package Thinkgamer;
import java.io.*;
public class cyan {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "Thinkgamer QQ is 1923361654";
try{
FileWriter gyt = new FileWriter("Thinkgamer.txt");
gyt.write(str,0,str.length());
gyt.flush();
FileReader out = new FileReader("Thinkgamer.txt");
int ch = 0;
while((ch = out.read())!=-1){
System.out.print((char)ch);
}
}
catch(Exception as){
as.printStackTrace();
}
}
}
二:OutputStream/InputStream
package Thinkgamer;
import java.io.*;
public class cyan {
public static void main(String[] args) {
String str = "Thinkgamer QQ is 1923361654";
try{
// OutputStream gyt = new FileOutputStream("Thinkgamer.txt");
// OutputStreamWriter out = new OutputStreamWriter(gyt);
OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream("Thinkgamer.txt"));
FileInputStream in = new FileInputStream("Thinkgamer.txt");
out.write(str,0,str.length());
out.flush();
for(int i =0;i < str.length();i++)
{
System.out.print((char)in.read());
}
}
catch(Exception ex){
ex.printStackTrace();
}
}
}
特別注意:
//在使用文件之後注意將文件關閉
//關閉的語句是gyt.flush();
//gyt為Read/Writer或OutputStream/InputStream所創建的一個對象
OutputStream/InputStream的理解和Read/Writer方法差不多,在這裡小編只將本人寫的代碼貼出來
Java 文件讀取寫入的編碼問題 http://www.linuxidc.com/Linux/2012-07/64414.htm