国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江达县| 那坡县| 昌乐县| 兴义市| 平山县| 石景山区| 敖汉旗| 威远县| 扬州市| 永寿县| 临潭县| 乌海市| 凤台县| 胶南市| 南雄市| 平顶山市| 麻江县| 炎陵县| 盐源县| 萝北县| 桃园市| 玉溪市| 肇东市| 大埔区| 河源市| 军事| 永泰县| 枣阳市| 宾阳县| 郧西县| 铅山县| 莱阳市| 武平县| 古田县| 克山县| 黄平县| 崇信县| 体育| 灌南县| 松阳县| 崇义县|