不多說,直接上干貨!
第一種方法
PWDemo.java
package zhouls.bigdata.DataFeatureSelection.filter; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.PrintWriter; /** * PW處理其他流 * @author adminitartor * */ public class PWDemo { public static void main(String[] args) throws IOException { /* * 向文件pw1.txt中寫出內容 */ FileOutputStream fos = new FileOutputStream("pw1.txt"); /* * PrintWriter構造方法傳入字節流的話, * 不能指定字符集。 */ // PrintWriter pw // = new PrintWriter(fos); /* * 若希望指定字符集,需要在中間使用 * OutputStreamWriter */ OutputStreamWriter osw = new OutputStreamWriter(fos,"GBK"); PrintWriter pw = new PrintWriter(osw); pw.println("啦啦啦"); pw.println("哈哈哈"); System.out.println("寫出完畢!"); pw.close(); } }
/* * 接下來是輸出流 */ FileOutputStream fos = new FileOutputStream("F:\\datamode\\SnortEveryAttributesSimData.txt"); OutputStreamWriter osw = new OutputStreamWriter(fos,"GBK"); PrintWriter pw = new PrintWriter(osw); for(int i=0;i<sdms.size();i++){ pw.println("按時間升序且計算每個屬性相似度后的第"+i+"條數據是"+":"+sdms.get(i)); } System.out.println("寫出完畢!"); pw.close();
第二種方法
字符流FileWriter
FileWriterDemo.java(涉及到換行和續寫)
package zhouls.bigdata.DataFeatureSelection.test;
import java.io.FileWriter;
import java.io.IOException;
//需求:將一些文字存儲到硬盤一個文件中。
public class FileWriterDemo { private static final String LINE_SEPARATOR = System.getProperty("line.separator"); /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { //創建一個可以往文件中寫入字符數據的字符輸出流對象。 /* * 既然是往一個文件中寫入文字數據,那么在創建對象時,就必須明確該文件(用於存儲數據的目的地)。 * 如果文件不存在,則會自動創建。 * 如果文件存在,則會被覆蓋。 * 如果構造函數中加入true,可以實現對文件進行續寫! */ FileWriter fw = new FileWriter("demo.txt",true); /* * 調用Writer對象中的write(string)方法,寫入數據。 * 其實數據寫入到臨時存儲緩沖區中。 */ fw.write("abcde"+LINE_SEPARATOR+"hahaha");//LINE_SEPARATOR是換行符 fw.write("xixi"); //進行刷新,將數據直接寫到目的地中。 注意:flush可以用多次。 fw.flush(); //關閉流,關閉資源。在關閉前會先調用flush刷新緩沖中的數據到目的地。 注意:close可以用多次。 fw.close(); } }