1. 程式人生 > >java 文件讀寫

java 文件讀寫

字節流 就會 brush not line 程序 sdf highlight write

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.CharBuffer;
import java.util.ArrayList;
import java.util.List;


public class filedemo {

	public static void main(String[] args) {
		File file=new File("c:\\22ssssssssss.txt");
		try {
			if(!file.exists()){
				file.createNewFile();
				FileOutputStream fileOutputStream=new FileOutputStream(file);
				DataOutputStream fDataOutputStream=new DataOutputStream(fileOutputStream);
				//fDataOutputStream.write("sfs哈d".getBytes());
				fDataOutputStream.writeUTF("\nx哈哈");
				fDataOutputStream.close();
				fileOutputStream.close();

			}
			else {
//				註意1:一般情況下在讀入時盡量按照寫入時的格式進行讀取,
//				否則有可能會出現顯示亂碼或程序出現異常。
//				如首先寫入文件用的是writeUTF(),在讀取的時候如果不是用readUTF()就會出現亂碼,
//				如果readUTF()讀取的內容不是UTF-8格式的,程序就會拋出異常。

				FileInputStream fileInputStream=new  FileInputStream(file);
				DataInputStream dataInputStream=new DataInputStream(fileInputStream);
				  //byte [] b2=new byte[1024*120];
				  //int len=dataInputStream.read(b2); //按字節讀取剩余的內容
				 // System.out.println(new String(b2,0,len));
				System.out.println(dataInputStream.readUTF());
               dataInputStream.close();
               fileInputStream.close();
			}
		} catch (Exception e) {
			// TODO: handle exception
		}


	}
	/**
	 * 緩存流
	 * @param args
	 */
	public static void main3(String[] args) {
		File file=new File("c:\\22ss.txt");
		try {
			if(!file.exists()){
				file.createNewFile();
				FileWriter fWriter=new FileWriter(file);
				BufferedWriter bWriter=new BufferedWriter(fWriter);
				String string="sfjsafjas婚紗福建\n";
				bWriter.write(string);
				bWriter.write(string);
				bWriter.close();
				fWriter.close();
			}
			else {
				FileReader fReader=new FileReader(file);
				BufferedReader bufferedReader=new BufferedReader(fReader);
				while(bufferedReader.ready()){
					String string= bufferedReader.readLine();	
					System.err.println(string);
				}
				bufferedReader.close();
				fReader.close();

			}
		} catch (Exception e) {
			// TODO: handle exception
		}


	}

	/**
	 * 字符流
	 * @param args
	 */
	public static void main2(String[] args) {
		File file=new File("c:\\demo1fsdfsd.txt");
		try {
			if(!file.exists()){
				file.createNewFile();
				FileWriter fWriter=new FileWriter(file);
				String string="sfjsafjas婚紗福建";
				fWriter.write(string);
				fWriter.close();
			}
			else {
				FileReader fReader=new FileReader(file);
				char[] c=new char[1024];
				StringBuffer sBuilder=new StringBuffer();
				int len=fReader.read(c);
				while(len!=-1){
					fReader.read(c, 0, len);  
					sBuilder.append(c);
					len=fReader.read();
					System.out.println(new String(c));
				}
			}
		} catch (Exception e) {
			// TODO: handle exception
		}


	}
	/**
	 * 字節流
	 * @param args
	 */
	public static void main1(String[] args) {
		File file=new File("c:\\demo1.txt");
		try {
			if(!file.exists()){

				file.createNewFile();
				FileOutputStream foStream=new  FileOutputStream(file);
				byte[] b=" sjd橫槊賦詩防守打法試試是".getBytes();
				foStream.write(b);
				foStream.close();

			}
			else {
				FileInputStream fisFileInputStream=new FileInputStream(file);
				byte[] b=new byte[fisFileInputStream.available()];
				fisFileInputStream.read(b);
				System.out.println(new String(b));
				fisFileInputStream.close();
			}
		} catch (IOException e) {
			// TODO: handle exception
			System.err.println(e.getMessage());
		}

	}
}

  

java 文件讀寫