java里如何使用輸入流和輸出流實現讀取本地文件里內容和寫出到本地文件里


 

 

 

 

 

  不多說,直接上干貨!

 

 

 

 

第一種方法

  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(); } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM