Java文件讀寫操作

Java同C#一樣,有多種文件讀寫方式。

博主測試時,曾無法讀出文件信息,bug出自寫入文件與讀物時所用數據格式不同。

OStream類

package com.anson.java;
import java.io.*;

public class OStream {

	private File file;
	private OutputStream outputStream;
	
	/**
	 * 構造
	 */
	public OStream(){}
	
	public OStream(String path)
	{
		
		try
		{
			file=new File(path);
			outputStream =new FileOutputStream(file);
		}
		catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
	}
	
	/**
	 * 寫入信息
	 */
	public void WriteStream()
	{
		try
		{

			for(int i=0;i<10;i++)
			{
				outputStream.write(i);
				
			}
			outputStream.close();
		}
		catch(IOException e)
		{
			e.printStackTrace();
		}
	}
}

IStream類

package com.anson.java;

import java.io.*;

public class IStream {
	
	private File file;
	private InputStream inputStream;
	private int[] info;
	public IStream()
	{
		
	}
	/**
	 * 構造
	 * @param path
	 */
	public IStream(String path)
	{
		try 
		{
			this.file=new File(path);
			this.inputStream=new FileInputStream(this.file);
		}
		catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	/**
	 * 讀取文件信息
	 */
	public void GetInfo()
	{
		try
		{
			int size=inputStream.available();
			info=new int[size];
			for(int i=0;i<size;i++)
			{
				info[i]=inputStream.read();
			}
			inputStream.close();
			
			for(int item : info)
			{
				System.out.print(item+"  ");
			}
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
}

Test類測試

package com.anson.java;

public class Test {
	
	/**
	 * @param args
	 */
	public static void main(String[] args) 
	{
		//寫入
		OStream write=new OStream("/home/anson/桌面/2");
		write.WriteStream();
		//讀取
		IStream read=new IStream("/home/anson/桌面/2");
		read.GetInfo();
	}
}

測試結果:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章