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

Java重要的兩個流
FileInputStream
該流用于從文件中讀取數(shù)據(jù)。
1.可以使用字符串類型的文件名來創(chuàng)建一個輸入流對象來讀取文件。
例如:
String filename = "D:\\java運行環(huán)境\\ZHL\\src\\java2018_8_5五子棋\\GobangMain.java"; InputStream in = new FileInputStream(filename);
2.也可以使用一個文件對象來創(chuàng)建一個輸入流對象來讀取文件。但是首先需要使用File()方法來創(chuàng)建以惡搞文件對象,代碼如下:
File f = new File("D:\\java運行環(huán)境\\ZHL\\src\\java2018_8_5五子棋\\GobangMain.java");
InputStream in = new FileInputStream(f);
3.創(chuàng)建了一個InputStream對象以后,再來了解下它的一些方法。
- close():關(guān)閉文件輸入流并且釋放與該流有關(guān)的所有系統(tǒng)資源。
- read(int r):該方法從InputStream對象讀取制定字節(jié)的數(shù)據(jù)。返回為整數(shù)值。返回下一字節(jié)的數(shù)據(jù),如果已經(jīng)到文件尾則返回-1。
- read(byte[] r):該方法從輸入流讀取r.length長度的字節(jié)。返回讀取的字節(jié)數(shù),如果是文件尾則返回-1。
- available():該方法返回下一次對此輸入流調(diào)用的方法,可以不受阻塞地從此輸入流讀取的字節(jié)數(shù)。返回一個整數(shù)值。(讀取剩下未讀的)
FileOutPutStream
該流用于創(chuàng)建一個文件并且向文件中寫數(shù)據(jù)。
如果該流再打開文件進(jìn)行輸出前,目標(biāo)文件不存在,那么該流會創(chuàng)建該文件。
1.使用字符串類型的文件名來創(chuàng)建一個輸出流對象
OutputStream f = new FileOutputStream("D:\\android\\file_operation\\test.txt");
2.也可以使用一個文件對象來創(chuàng)建一個輸出流來寫文件。首先用File()方法來創(chuàng)建一個文件對象。
File filename_2 = new File("D:\\android\\file_operation\\test.txt");
OutputStream out = new FileOutputStream(filename_2);
3.創(chuàng)建了一個OutputStream對象以后,再來了解下它的一些方法。
- close():關(guān)閉此文件輸入流并釋放與該流有關(guān)的所有系統(tǒng)資源。
- write(int w):該方法把指定的字節(jié)寫到輸出流中。
- write(byte[] w):該方法把指定數(shù)組中w.length長度的字節(jié)寫入OutputStream中去。
例子
這是一個從我電腦的D:\java運行環(huán)境\ZHL\src\java2018_8_5五子棋\GobangMain.java路徑下獲取文件中的內(nèi)容,并且將其復(fù)制到這個路徑下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運行環(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)容寫入一個記事本中去,記事本的路徑自己給定
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);
//對字節(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();
}
}
}
運行結(jié)果是在java中輸出前一個路徑中的內(nèi)容還有在第二個路徑下創(chuàng)建自己命名好的txt文件,其中寫入了前一個路徑中的內(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é)點技巧總結(jié)》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
Spring Boot 使用 Swagger 構(gòu)建 RestAPI 接口文檔
這篇文章主要介紹了Spring Boot 使用 Swagger 構(gòu)建 RestAPI 接口文檔,幫助大家更好的理解和使用Spring Boot框架,感興趣的朋友可以了解下2020-10-10
spring boot 使用Aop通知打印控制器請求報文和返回報文問題
這篇文章主要介紹了spring-boot 使用Aop通知打印控制器請求報文和返回報文,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-04-04
Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文標(biāo)點輸入無效的完美解決方法
Mac OS X 下基于 Java 的程序會出現(xiàn)中文標(biāo)點輸入無效的問題,在中文輸入法狀態(tài),可以輸入中文字,但輸入中文標(biāo)點最后上去的是英文標(biāo)點.這篇文章主要介紹了Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文標(biāo)點輸入無效的完美解決方法,需要的朋友可以參考下2016-10-10
SpringBoot基于過濾器和內(nèi)存實現(xiàn)重復(fù)請求攔截功能
這篇文章主要介紹了SpringBoot基于過濾器和內(nèi)存實現(xiàn)重復(fù)請求攔截,這里我們使用過濾器的方式對進(jìn)入服務(wù)器的請求進(jìn)行過濾操作,實現(xiàn)對相同客戶端請求同一個接口的過濾,需要的朋友可以參考下2023-01-01
PL/SQL實現(xiàn)JAVA中的split()方法的例子
這篇文章主要介紹了PL/SQL實現(xiàn)JAVA中的split()方法的例子的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07
Java中的HttpServletRequest接口詳細(xì)解讀
這篇文章主要介紹了Java中的HttpServletRequest接口詳細(xì)解讀,是一個接口,全限定名稱為Jakarta.Serclet.http.HttpServletRequest2023-11-11
HttpServletRequest接口是Servlet規(guī)范的一員,需要的朋友可以參考下
Java模擬HTTP Get Post請求實現(xiàn)論壇自動回帖功能
這篇文章主要介紹了Java模擬HTTP Get Post請求實現(xiàn)論壇自動回帖功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09
Java數(shù)據(jù)結(jié)構(gòu)與算法之選擇排序(動力節(jié)點java學(xué)院整理)
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)與算法之選擇排序的相關(guān)資料,本文通過代碼講解,非常不錯,具有參考借鑒價值,需要的的朋友參考下2017-04-04

