本文目錄一覽:
java輸入輸出流的本質是什麼?
Java輸入輸出流的本質是I/O操作,是指使用Java進行輸入輸出操作。Java所有的I/O機制都是基於數據流進行輸入輸出,這些數據流表示了字符或者字節數據的流動序列。Java的I/O流提供了讀寫數據的標準方法。任何Java中表示數據源的對象都會提供以數據流的方式讀寫它的數據的方法。
流是一個很形象的概念,當程序需要讀取數據的時候,就會開啟一個通向數據源的流,這個數據源可以是文件、內存,或是網絡連接。類似的,當程序需要寫入數據的時候,就會開啟一個通向目的地的流。這時候你就可以想象數據好像在這其中“流”動一樣。
Java中的流分為兩種,一種是字節流,另一種是字符流,分別由四個抽象類來表示(每種流包括輸入和輸出兩種所以一共四個):InputStream,OutputStream,Reader,Writer。Java中其他多種多樣變化的流均是由它們派生出來的。在這其中InputStream和OutputStream在早期的Java版本中就已經存在了,它們是基於字節流的,而基於字符流的Reader和 Writer是後來加入作為補充的。
java輸入流和輸出流文件應該建在什麼位置
在Java程序中,要想從文件中讀取數據,需要在程序和文件之間建立一條數據輸入的通道,這樣程序就可以從文件中讀取數據了;反之,如果要在Java程序中把數據寫入到文件中,也需要在程序和文件之間建立一條數據輸出的通道。當程序創建輸入流對象時,Java會自動建立這個數據輸入通道,而創建輸出流時,Java也會自動建立這個數據輸出通道。如下圖所示:
Java程序讀取與寫入數據
輸入流是從文件讀取數據,是一個拉取數據的過程;輸出流是將數據寫入到文件,是一個推送數據的過程。
為了便於理解輸入輸出流,前面都是以文件為數據源來討論的。其實,Java的輸入與輸出流支持任何數據源的讀取與寫入,包括鍵盤、文件、網絡、數據庫等數據源。
輸入流和輸出流按讀取和寫入的數據單位可分為字節流和字符流,字節流是以字節為單位傳輸數據的流,字符流是以字符為單位傳輸數據的流。
Java所提供的輸入流和輸出流類封裝在Java.io包中
java中輸入輸出流如何把數據輸出為Excel表格形式
實現代碼如下:
import org.apache.poi.hssf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
publicclass CreateCells
{
publicstaticvoid main(String[] args)
throws IOException
{
HSSFWorkbook wb = new HSSFWorkbook();//建立新HSSFWorkbook對象
HSSFSheet sheet = wb.createSheet(“new sheet”);//建立新的sheet對象
// Create a row and put some cells in it. Rows are 0 based.
HSSFRow row = sheet.createRow((short)0);//建立新行
// Create a cell and put a value in it.
HSSFCell cell = row.createCell((short)0);//建立新cell
cell.setCellValue(1);//設置cell的整數類型的值
// Or do it on one line.
row.createCell((short)1).setCellValue(1.2);//設置cell浮點類型的值
row.createCell((short)2).setCellValue(“test”);//設置cell字符類型的值
row.createCell((short)3).setCellValue(true);//設置cell布爾類型的值
HSSFCellStyle cellStyle = wb.createCellStyle();//建立新的cell樣式
cellStyle.setDataFormat(HSSFDataFormat.getFormat(“m/d/yy h:mm”));//設置cell樣式為定製的日期格式
HSSFCell dCell =row.createCell((short)4);
dCell.setCellValue(new Date());//設置cell為日期類型的值
dCell.setCellStyle(cellStyle); //設置該cell日期的顯示格式
HSSFCell csCell =row.createCell((short)5);
csCell.setEncoding(HSSFCell.ENCODING_UTF_16);//設置cell編碼解決中文高位字節截斷
csCell.setCellValue(“中文測試_Chinese Words Test”);//設置中西文結合字符串
row.createCell((short)6).setCellType(HSSFCell.CELL_TYPE_ERROR);//建立錯誤cell
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream(“workbook.xls”);
wb.write(fileOut);
fileOut.close();
}
}
Java是由Sun Microsystems公司推出的Java面向對象程序設計語言(以下簡稱Java語言)和Java平台的總稱。由James Gosling和同事們共同研發,並在1995年正式推出。Java最初被稱為Oak,是1991年為消費類電子產品的嵌入式芯片而設計的。1995年更名為Java,並重新設計用於開發Internet應用程序。
用Java實現的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平台、動態Web、Internet計算。從此,Java被廣泛接受並推動了Web的迅速發展,常用的瀏覽器均支持Javaapplet。另一方面,Java技術也不斷更新。Java自面世後就非常流行,發展迅速,對C++語言形成有力衝擊。在全球雲計算和移動互聯網的產業環境下,Java更具備了顯著優勢和廣闊前景。2010年Oracle公司收購Sun Microsystems。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/291937.html