麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Java > 正文

Java輸入輸出流實例詳解

2024-07-14 08:42:16
字體:
來源:轉載
供稿:網友

本文實例講述了Java輸入輸出流。分享給大家供大家參考,具體如下:

字節輸出流,輸出到文件中(寫)

OutputStream抽象類

選好文件

復制代碼代碼如下:
File file = new File("E:" + File.separator + "myFile" + File.separator + "test" + File.separator + "123.txt");

 

子類實例化,需要拋異常

稍后傳輸的數據覆蓋原內容

OutputStream output = new FileOutputStream(file);

稍后傳輸的數據追加在原數據之后

OutputStream output = new FileOutputStream(file,true);

選好數據,轉換為字節數組

String msg = "你好/r/n世界";byte data[] = msg.getBytes();
  • windows系統txt文件換行用/r/n

輸出到文件(向文件中寫數據)

output.write(data);

寫入部分數據

output.write(data,3,8);
  • 從字節數組data的腳標為3開始8個字節寫入此輸出流。

關閉輸出流

output.close();

字節輸入流,文件中數據讀取到程序中(讀)

InputStream抽象類

選好文件

File file = new File("E:" + File.separator + "myFile" + File.separator + "test" + File.separator + "123.txt");

子類實例化,需要拋異常

FileInputStream input = new FileInputStream(file);

讀取數據,并將數據保存到指定字節數組中

byte data[] = new byte[100];int len = input.read(data);
  • 字節數組的長度需要選的合適,如果從文件中讀取的內容的的字節數超過了指定字節數組的長度,那么超過的部分將無法保存到指定的字節數組中,這樣內容就會丟失,如果遇到正文這樣一個字占多個字節的,也可能出現亂碼。

三種讀取數據方式

byte data[] = new byte[100];int len = input.read(data);

從此輸入流中將最多 data.length 個字節的數據讀入data數組中。在某些輸入可用之前,此方法將阻塞。

返回:讀入緩沖區的字節總數,如果因為已經到達文件末尾而沒有更多的數據,則返回 -1。

byte data[] = new byte[100];int len = input.read(data,5,14);

從此輸入流中將最多14個字節的數據讀入data數組中,讀入位置為data數組后偏移5個位置,即讀入的開始位置是數組腳標為5的位置

返回:讀入緩沖區的字節總數,如果因為已經到達文件末尾而沒有更多的數據,則返回 -1。

byte data[] = new byte[100];int i = 0;int read = input.read();while (read != -1){  data[i++] = (byte)read;  read = input.read();}

從此輸入流中讀取一個數據字節。如果沒有輸入可用,則此方法將阻塞。

返回:下一個數據字節;如果已到達文件末尾,則返回 -1。

注意有參數的和無參數的read方法的返回值是不一樣的,有參數的返回的是讀取字節的個數,無參的返回的是字節的int值,如果要保存到字節數組,還需要強轉為byte型。

將字節數組轉換為字符串輸出到控制臺

String x = new String(data);System.out.println(x);

關閉輸入流

input.close();

字符輸出流:Writer

import java.io.File;import java.io.FileWriter;import java.io.Writer;public class Hello {  public static void main(String[] args) throws Exception{   File file = new File("E:" + File.separator + "myFile" + File.separator + "test" + File.separator + "123.txt");   Writer writer = new FileWriter(file);   writer.write("你好/r/nworld");   writer.close();  }}

write方法的參數直接寫字符串即可。

必須要關閉字符輸出流,不然數據只是保存在緩沖區中,并沒有寫入文件。

字符輸入流:Reader

import java.io.File;import java.io.FileReader;import java.io.Reader;public class Hello {  public static void main(String[] args) throws Exception {   File file = new File("E:" + File.separator + "myFile" + File.separator + "test" + File.separator + "123.txt");   char data[] = new char[100];   Reader reader = new FileReader(file);   reader.read(data);   String x = new String(data);   System.out.println(x);   reader.close();  }}

read方法是將讀取的數據保存到字符數組中。

希望本文所述對大家java程序設計有所幫助。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: av老司机久久| 欧美淫视频 | 性生活视频软件 | 三人弄娇妻高潮3p视频 | 久久性生活免费视频 | 高清视频91 | 自拍偷拍亚洲图片 | 欧美日韩色片 | 欧美在线观看视频一区二区 | 一级黄色影片在线观看 | 黄色毛片免费看 | 91精品观看91久久久久久国产 | 欧美一级做一级爱a做片性 久久久资源网 | 99在线热视频 | 亚洲精品xxx | 毛片天天看 | 国产午夜精品一区二区三区免费 | 色的综合 | 亚洲精品午夜电影 | 欧美精品a∨在线观看不卡 午夜精品影院 | 99精品在线视频观看 | 国产精品久久久久一区二区 | 国产免费午夜 | 毛片大全 | 欧美不卡| 91网视频| mmmwww| 日本在线播放一区二区三区 | 国产精品麻豆一区二区三区 | 国产成人网 | 91一区二区三区久久久久国产乱 | 日产精品一区二区三区在线观看 | 九九精品在线观看视频 | 91午夜少妇三级全黄 | 国产成人综合在线观看 | 欧产日产国产精品v | 黄色毛片一级 | 欧美日韩在线播放 | 免费黄色欧美视频 | 人人玩人人爽 | 少妇一级淫片免费放4p |