一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java輸入輸出流實例詳解

Java輸入輸出流實例詳解

2021-05-30 15:44shuair Java教程

這篇文章主要介紹了Java輸入輸出流,結合實例形式詳細分析了Java常見的輸入輸出常用操作技巧與相關注意事項,需要的朋友可以參考下

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

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

outputstream抽象類

選好文件

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

 

子類實例化,需要拋異常

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

?
1
outputstream output = new fileoutputstream(file);

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

?
1
outputstream output = new fileoutputstream(file,true);

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

?
1
2
string msg = "你好\r\n世界";
byte data[] = msg.getbytes();
  • windows系統txt文件換行用\r\n

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

?
1
output.write(data);

寫入部分數據

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

關閉輸出流

?
1
output.close();

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

inputstream抽象類

選好文件

?
1
file file = new file("e:" + file.separator + "myfile" + file.separator + "test" + file.separator + "123.txt");

子類實例化,需要拋異常

?
1
fileinputstream input = new fileinputstream(file);

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

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

三種讀取數據方式

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

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

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

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

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

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

?
1
2
3
4
5
6
7
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型。

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

?
1
2
string x = new string(data);
system.out.println(x);

關閉輸入流

?
1
input.close();

字符輸出流:writer

?
1
2
3
4
5
6
7
8
9
10
11
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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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程序設計有所幫助。

原文鏈接:https://blog.csdn.net/shuair/article/details/81984299

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费观看成年人视频 | 欧美在线视频7777kkkk | 亚洲国产视频网站 | 日韩在线一区二区 | 亚洲+欧美+国产+综合 | 日韩欧美高清一区 | 四虎精品影视 | 国色天香视频完整版 | 碰91精品国产91久久婷婷 | 亚洲 在线 日韩 欧美 | 亚洲 综合 欧美在线 热 | 寡妇快点好大好爽视频 | evelynlin亚裔播放| 俄罗斯极品h在线 | 亚洲成人免费 | 久久国产伦子伦精品 | 日韩免费视频播放 | 深夜福利一区 | 日本精品中文字幕在线播放 | 国产精品资源在线观看 | 加勒比伊人 | s8sp加密路线和免费路线首页 | 久久99热狠狠色一区二区 | 亚洲va欧美va国产综合久久 | 国产精品www夜色影视 | 精品一区二区免费视频蜜桃网 | 男女性gif抽搐出入视频 | 亚洲va在线va天堂成人 | 欧美在线看片a免费观看 | 太紧太深了受不了黑人 | 日韩精品视频免费 | 欧美日韩成人在线 | 国产在线99 | 亚洲高清在线视频 | 免费在线观看日韩 | 欧美成人aa久久狼窝动画 | 69日本xxⅹxxxxx19| 赤色疑惑 | 免费国产成人 | 亚洲国产欧美目韩成人综合 | 国产在视频线在精品 |