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

java文件的簡(jiǎn)單讀寫操作方法實(shí)例分析

 更新時(shí)間:2020年05月07日 10:53:22   作者:Juily家的小蜜果  
這篇文章主要介紹了java文件的簡(jiǎn)單讀寫操作方法,結(jié)合實(shí)例形式分析了java文件流進(jìn)行讀寫操作的方法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了java文件的簡(jiǎn)單讀寫操作方法。分享給大家供大家參考,具體如下:

Java重要的兩個(gè)流

FileInputStream

該流用于從文件中讀取數(shù)據(jù)。

1.可以使用字符串類型的文件名來創(chuàng)建一個(gè)輸入流對(duì)象來讀取文件。

例如:

String filename = "D:\\java運(yùn)行環(huán)境\\ZHL\\src\\java2018_8_5五子棋\\GobangMain.java";
InputStream in = new FileInputStream(filename);

2.也可以使用一個(gè)文件對(duì)象來創(chuàng)建一個(gè)輸入流對(duì)象來讀取文件。但是首先需要使用File()方法來創(chuàng)建以惡搞文件對(duì)象,代碼如下:

File f = new File("D:\\java運(yùn)行環(huán)境\\ZHL\\src\\java2018_8_5五子棋\\GobangMain.java");
InputStream in = new FileInputStream(f);

3.創(chuàng)建了一個(gè)InputStream對(duì)象以后,再來了解下它的一些方法。

  • close():關(guān)閉文件輸入流并且釋放與該流有關(guān)的所有系統(tǒng)資源。
  • read(int r):該方法從InputStream對(duì)象讀取制定字節(jié)的數(shù)據(jù)。返回為整數(shù)值。返回下一字節(jié)的數(shù)據(jù),如果已經(jīng)到文件尾則返回-1。
  • read(byte[] r):該方法從輸入流讀取r.length長(zhǎng)度的字節(jié)。返回讀取的字節(jié)數(shù),如果是文件尾則返回-1。
  • available():該方法返回下一次對(duì)此輸入流調(diào)用的方法,可以不受阻塞地從此輸入流讀取的字節(jié)數(shù)。返回一個(gè)整數(shù)值。(讀取剩下未讀的)

FileOutPutStream

該流用于創(chuàng)建一個(gè)文件并且向文件中寫數(shù)據(jù)。

如果該流再打開文件進(jìn)行輸出前,目標(biāo)文件不存在,那么該流會(huì)創(chuàng)建該文件。

1.使用字符串類型的文件名來創(chuàng)建一個(gè)輸出流對(duì)象

OutputStream f = new FileOutputStream("D:\\android\\file_operation\\test.txt");

2.也可以使用一個(gè)文件對(duì)象來創(chuàng)建一個(gè)輸出流來寫文件。首先用File()方法來創(chuàng)建一個(gè)文件對(duì)象。

File filename_2 = new File("D:\\android\\file_operation\\test.txt");
OutputStream out = new FileOutputStream(filename_2);

3.創(chuàng)建了一個(gè)OutputStream對(duì)象以后,再來了解下它的一些方法。

  • close():關(guān)閉此文件輸入流并釋放與該流有關(guān)的所有系統(tǒng)資源。
  • write(int w):該方法把指定的字節(jié)寫到輸出流中。
  • write(byte[] w):該方法把指定數(shù)組中w.length長(zhǎng)度的字節(jié)寫入OutputStream中去。

例子

這是一個(gè)從我電腦的D:\java運(yùn)行環(huán)境\ZHL\src\java2018_8_5五子棋\GobangMain.java路徑下獲取文件中的內(nèi)容,并且將其復(fù)制到這個(gè)路徑下D:\android\file_operation\test.txt中的txt文件中。

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class NoteDemo {
    
    public static void main(String[] args) {
        String filename = "D:\\java運(yùn)行環(huán)境\\ZHL\\src\\java2018_8_5五子棋\\GobangMain.java";
        File filename_2 = new File("D:\\android\\file_operation\\test.txt");
        //先從地址filename中去讀取文件中的內(nèi)容存入str中去
        //再將str中內(nèi)容寫入一個(gè)記事本中去,記事本的路徑自己給定
        try {
            //創(chuàng)建流
            InputStream in = new FileInputStream(filename);
            OutputStream out = new FileOutputStream(filename_2);
            try {
                //創(chuàng)建緩存區(qū)域讀取字節(jié)文件
                byte buffer[] = new byte[in.available()];
                //讀取字節(jié)文件
                in.read(buffer);
                //對(duì)字節(jié)進(jìn)行處理
                String str = new String(buffer);
                System.out.println(str);
                //向該路徑寫入內(nèi)容
            out.write(str.getBytes());
                //關(guān)閉流
                in.close();
                out.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        }
    }
}

運(yùn)行結(jié)果是在java中輸出前一個(gè)路徑中的內(nèi)容還有在第二個(gè)路徑下創(chuàng)建自己命名好的txt文件,其中寫入了前一個(gè)路徑中的內(nèi)容:

部分截圖如下:

在D:\android\file_operation\test.txt路徑下,創(chuàng)建好的txt文件:

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java文件與目錄操作技巧匯總》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》和《Java緩存操作技巧匯總

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 詳解Spring Security中獲取當(dāng)前登錄用戶的詳細(xì)信息的幾種方法

    詳解Spring Security中獲取當(dāng)前登錄用戶的詳細(xì)信息的幾種方法

    本文主要介紹了詳解Spring Security中獲取當(dāng)前登錄用戶的詳細(xì)信息的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Java實(shí)現(xiàn)鼠標(biāo)隨機(jī)移動(dòng)效果的示例代碼

    Java實(shí)現(xiàn)鼠標(biāo)隨機(jī)移動(dòng)效果的示例代碼

    有的時(shí)候我們需要鼠標(biāo)一直滑動(dòng)的情況,為了節(jié)省時(shí)間,本文用Java語(yǔ)言寫了一個(gè)腳本,可以實(shí)現(xiàn)鼠標(biāo)隨機(jī)移動(dòng),感興趣的小伙伴可以了解一下
    2022-05-05
  • 帶你入門Java的方法

    帶你入門Java的方法

    這篇文章主要介紹了java基礎(chǔ)之方法詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-07-07
  • java ThreadGroup的作用及方法詳解

    java ThreadGroup的作用及方法詳解

    這篇文章主要介紹了java ThreadGroup的作用及方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • JAVA多線程Thread和Runnable的實(shí)現(xiàn)

    JAVA多線程Thread和Runnable的實(shí)現(xiàn)

    java中實(shí)現(xiàn)多線程有兩種方法:一種是繼承Thread類,另一種是實(shí)現(xiàn)Runnable接口。
    2013-03-03
  • 關(guān)于HashMap 并發(fā)時(shí)會(huì)引起死循環(huán)的問題解析

    關(guān)于HashMap 并發(fā)時(shí)會(huì)引起死循環(huán)的問題解析

    JDK1.8之前采用頭插,即在鏈表結(jié)構(gòu)上每次都把數(shù)據(jù)放在鏈表頭部。JDK1.8采用尾插方法,很多朋友在學(xué)習(xí)Java并發(fā)容器和框架時(shí),看到為什么要使用ConcurrentHashMap時(shí)不知道究其原因,今天小編通過本文給大家介紹下HashMap 并發(fā)死循環(huán)問題,一起看看吧
    2021-05-05
  • 最新評(píng)論