欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java?I/O流之打印流詳細(xì)使用方法教程

 更新時(shí)間:2023年01月31日 12:01:00   作者:學(xué)全棧的灌湯包  
java的io是實(shí)現(xiàn)輸入和輸出的基礎(chǔ),可以方便的實(shí)現(xiàn)數(shù)據(jù)的輸入和輸出操作,下面這篇文章主要給大家介紹了關(guān)于Java?IO流打印流詳細(xì)使用的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

打印流

打印流基本使用

打印流:

作用:打印流可以實(shí)現(xiàn)更方便、更高效的打印數(shù)據(jù)到文件中去。打印流一般是指:PrintStream,PrintWriter兩個(gè)類。

可以實(shí)現(xiàn)打印什么數(shù)據(jù)就是什么數(shù)據(jù),例如打印整數(shù)97寫出去就是97,打印boolean的true,寫出去就是true。

打印流PrintStream構(gòu)造器如下:

構(gòu)造器說(shuō)明
PrintStream(OutputStream os)打印流直接通向字節(jié)輸出流管道
PrintStream(File f)打印流直接通向文件對(duì)象
PrintStream(String filepath)打印流直接通向文件路徑

示例代碼

public static void main(String[] args) throws Exception {
    // 方式一: 打印流通向字節(jié)輸出流管道
    PrintStream ps1 = new PrintStream(new FileOutputStream("/Users/chenyq/Documents/test.txt"));

    // 方式二: 打印流通向文件對(duì)象
    PrintStream ps2 = new PrintStream(new File("/Users/chenyq/Documents/test.txt"));

    // 方式三: 打印流通向文件路徑
    PrintStream ps3 = new PrintStream("/Users/chenyq/Documents/test.txt");
}

打印流PrintStream方法如下:

方法說(shuō)明
print(Xxx xx)打印任意類型的數(shù)據(jù)出去(不換行)
println(Xxx xx)打印任意類型的數(shù)據(jù)出去(換行)

演示代碼

public static void main(String[] args) throws Exception {
    PrintStream ps = new PrintStream(new FileOutputStream("/Users/chenyq/Documents/test.txt"));

    // 打印流方法
    ps.println(97);
    ps.println("aaa");
    ps.println(123);
    ps.println('我');
    ps.println(true);

    // 關(guān)閉流
    ps.close();
}

上面代碼打印到文件中的內(nèi)容如下:

打印流PrintWrite構(gòu)造器如下

構(gòu)造器說(shuō)明
PrintWriter(OutputStream os)打印流直接通向字節(jié)輸出流管道
PrintWriter (Writer w)打印流直接通向字符輸出流管道
PrintWriter (File f)打印流直接通向文件對(duì)象
PrintWriter (String filepath)打印流直接通向文件路徑

打印流PrintStream方法:

方法說(shuō)明
print(Xxx xx)打印任意類型的數(shù)據(jù)出去(換行)
println(Xxx xx)打印任意類型的數(shù)據(jù)出去(不換行)

演示代碼:

PrintWrite和PrintPrintStream在打印的使用上并無(wú)區(qū)別

public static void main(String[] args) throws Exception {
    PrintWriter pw = new PrintWriter(new FileOutputStream("/Users/chenyq/Documents/test.txt"));

    // 打印流方法
    pw.println(97);
    pw.println("aaa");
    pw.println(123);
    pw.println('我');
    pw.println(false);

    // 關(guān)閉流
    pw.close();
}

既然PrintStream和PrintWrite在打印上沒(méi)有區(qū)別, 那這兩個(gè)類的區(qū)別在哪里?

打印數(shù)據(jù)功能上是一模一樣的,都是使用方便,性能高效(核心優(yōu)勢(shì))

PrintStream繼承自字節(jié)輸出流OutputStream,支持寫字節(jié)數(shù)據(jù)的方法。

PrintWriter繼承自字符輸出流Writer,支持寫字符數(shù)據(jù)出去。

public static void main(String[] args) throws Exception {
    PrintStream ps = new PrintStream(new FileOutputStream("/Users/chenyq/Documents/test.txt"));

    // PrintStream寫字節(jié)數(shù)據(jù)
    ps.write("我愛(ài)學(xué)習(xí)".getBytes());
}
public static void main(String[] args) throws Exception {
    PrintWriter pw = new PrintWriter(new FileOutputStream("/Users/chenyq/Documents/test.txt"));

    // PrintWrite寫字符數(shù)據(jù)
    pw.write("我愛(ài)學(xué)習(xí)");
}

但是我們一般使用打印流, 都是打印數(shù)據(jù)到文件中去;

使用打印流我們基本不會(huì)用來(lái)寫數(shù)據(jù), 因?yàn)閷憯?shù)據(jù)我們直接使用字符輸出流和字節(jié)輸出流更好

使用打印流的小細(xì)節(jié), 我們可以發(fā)現(xiàn), 打印流默認(rèn)也是覆蓋管道, 打印的數(shù)據(jù)會(huì)覆蓋原數(shù)據(jù)

如果我們想要打印數(shù)據(jù)為追加數(shù)據(jù), 我們要在低級(jí)管道中開啟追加模式, 打印流的過(guò)早其中沒(méi)有提供追加數(shù)據(jù)的構(gòu)造器

public static void main(String[] args) throws Exception {
    // 在原始字符輸出流開啟追加模式
    PrintWriter pw = new PrintWriter(new FileOutputStream("/Users/chenyq/Documents/test.txt", true));
}

輸出語(yǔ)句重定向

輸出語(yǔ)句重定向(了解)

屬于打印流的一種應(yīng)用,可以把輸出語(yǔ)句System.out.println();的打印位置改到文件當(dāng)中。

例如: 在項(xiàng)目的開發(fā)階段我們是在控制臺(tái)打印調(diào)試的, 我們希望項(xiàng)目上線后將輸出語(yǔ)句打印到文件當(dāng)中

public static void main(String[] args) throws Exception {
    PrintStream ps = new PrintStream("/Users/chenyq/Documents/test.txt");

    // 改變輸出語(yǔ)句的位置(重定向), 將輸出語(yǔ)句輸出到文件當(dāng)中
    System.setOut(ps);
    System.out.println("aaa");
    System.out.println(97);
    System.out.println(123);
    System.out.println('我');
}

總結(jié)

到此這篇關(guān)于Java IO流打印流詳細(xì)使用的文章就介紹到這了,更多相關(guān)Java IO流打印流使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 用Java實(shí)現(xiàn)簡(jiǎn)單ATM機(jī)功能

    用Java實(shí)現(xiàn)簡(jiǎn)單ATM機(jī)功能

    這篇文章主要為大家詳細(xì)介紹了用Java實(shí)現(xiàn)簡(jiǎn)單ATM機(jī)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java EasyExcel實(shí)現(xiàn)導(dǎo)出多sheet并設(shè)置單元格樣式

    Java EasyExcel實(shí)現(xiàn)導(dǎo)出多sheet并設(shè)置單元格樣式

    EasyExcel是一個(gè)基于Java的、快速、簡(jiǎn)潔、解決大文件內(nèi)存溢出的Excel處理工具,下面我們就來(lái)學(xué)習(xí)一下EasyExcel如何實(shí)現(xiàn)導(dǎo)出多sheet并設(shè)置單元格樣式吧
    2023-11-11
  • java基本教程之線程讓步 java多線程教程

    java基本教程之線程讓步 java多線程教程

    本文對(duì)Thread中的線程讓步方法yield()進(jìn)行介紹,yield()的作用是讓步。它能讓當(dāng)前線程由“運(yùn)行狀態(tài)”進(jìn)入到“就緒狀態(tài)”,從而讓其它具有相同優(yōu)先級(jí)的等待線程獲取執(zhí)行權(quán),大家參考使用吧
    2014-01-01
  • 基于feign傳參MultipartFile問(wèn)題解決

    基于feign傳參MultipartFile問(wèn)題解決

    這篇文章主要介紹了基于feign傳參MultipartFile問(wèn)題解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 淺談線性表的原理及簡(jiǎn)單實(shí)現(xiàn)方法

    淺談線性表的原理及簡(jiǎn)單實(shí)現(xiàn)方法

    下面小編就為大家?guī)?lái)一篇淺談線性表的原理及簡(jiǎn)單實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • springboot線程池監(jiān)控的簡(jiǎn)單實(shí)現(xiàn)

    springboot線程池監(jiān)控的簡(jiǎn)單實(shí)現(xiàn)

    本文主要介紹了springboot線程池監(jiān)控的簡(jiǎn)單實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java如何獲取當(dāng)前年份、月份和日期字符串

    Java如何獲取當(dāng)前年份、月份和日期字符串

    Java獲取當(dāng)前年份、月份和日期是通過(guò)Calendar類的實(shí)例對(duì)象來(lái)獲取的,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • Spring切面優(yōu)先級(jí)與基于xml的AOP實(shí)現(xiàn)方法詳解

    Spring切面優(yōu)先級(jí)與基于xml的AOP實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了Spring切面的優(yōu)先級(jí)與基于xml的AOP的詳細(xì)步驟,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-11-11
  • Mybatis Plus代碼生成器(時(shí)間管理大師)

    Mybatis Plus代碼生成器(時(shí)間管理大師)

    這篇文章主要介紹了Mybatis Plus代碼生成器(時(shí)間管理大師)的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 必知必會(huì)的SpringBoot實(shí)現(xiàn)熱部署兩種方式

    必知必會(huì)的SpringBoot實(shí)現(xiàn)熱部署兩種方式

    這篇文章主要為大家介紹了必知必會(huì)的SpringBoot實(shí)現(xiàn)熱部署兩種方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04

最新評(píng)論