java讀寫,Java讀寫分離

本文目錄一覽:

java緩衝流讀寫數據

         —  下面都是以位元組流方式操作  —

//讀數據:

BufferedInputStream bis = new BufferedInputStream(new FileInputStream(“xx.xx”));

byte[] b = new byte[1024];

int len = 0;

while((len=bis.read(b))!-1){

    //這樣就讀取並輸出了,如果是別的文件的話亂碼,因為二進位文件

    System.out.println(new String(b,0,len)); 

}

bis.close();//關閉流,節省資源

//寫數據:

BufferedOutputStream bos = new BufferedOutputStream(new FileOuputStream(“xx.xx”));

//使用緩衝區寫二進位位元組數據

bos.write(“xxxxx”.getBytes());

bos.close();//關閉流,節省資源

如果字元流的話就是:

BufferedReader  //讀取

BufferedWriter    //寫入

Java中對文件進行讀寫操作的基本類是什麼?

Java.io包中包括許多類提供許多有關文件的各個方面操作。

1 輸入輸出抽象基類InputStream/OutputStream ,實現文件內容操作的基本功能函數read()、 write()、close()、skip()等;一般都是創建出其派生類對象(完成指定的特殊功能)來實現文件讀寫。在文件讀寫的編程過程中主要應該注意異常處理的技術。

2 FileInputStream/FileOutputStream:

用於本地文件讀寫(二進位格式讀寫並且是順序讀寫,讀和寫要分別創建出不同的文件流對象);

本地文件讀寫編程的基本過程為:

① 生成文件流對象(對文件讀操作時應該為FileInputStream類,而文件寫應該為FileOutputStream類);

② 調用FileInputStream或FileOutputStream類中的功能函數如read()、write(int b)等)讀寫文件內容;

③ 關閉文件(close())。

3 PipedInputStream/PipedOutputStream:

用於管道輸入輸出(將一個程序或一個線程的輸出結果直接連接到另一個程序或一個線程的輸入埠,實現兩者數據直接傳送。操作時需要連結);

4管道的連接:

方法之一是通過構造函數直接將某一個程序的輸出作為另一個程序的輸入,在定義對象時指明目標管道對象

PipedInputStream pInput=new PipedInputStream();

PipedOutputStream pOutput= new PipedOutputStream(pInput);

方法之二是利用雙方類中的任一個成員函數 connect()相連接

PipedInputStream pInput=new PipedInputStream();

PipedOutputStream pOutput= new PipedOutputStream();

pinput.connect(pOutput);

5 管道的輸入與輸出:

輸出管道對象調用write()成員函數輸出數據(即向管道的輸入端發送數據);而輸入管道對象調用read()成員函數可以讀起數據(即從輸出管道中獲得數據)。這主要是藉助系統所提供的緩衝機制來實現的。

6隨機文件讀寫:

RandomAccessFile類(它直接繼承於Object類而非InputStream/OutputStream類),從而可以實現讀寫文件中任何位置中的數據(只需要改變文件的讀寫位置的指針)。

隨機文件讀寫編程的基本過程為:

① 生成流對象並且指明讀寫類型;

② 移動讀寫位置;

③ 讀寫文件內容;

④ 關閉文件。

七里河團隊答疑助人,希望我的回答對你有所幫助

Java讀寫文件的幾種方法

java讀取配置文件的幾種方法如下:

方式一:採用ServletContext讀取,讀取配置文件的realpath,然後通過文件流讀取出來。因為是用ServletContext讀取文件路徑,所以配置文件可以放入在web-info的classes目錄中,也可以在應用層級及web-info的目錄中。文件存放位置具體在eclipse工程中的表現是:可以放在src下面,也可放在web-info及webroot下面等。因為是讀取出路徑後,用文件流進行讀取的,所以可以讀取任意的配置文件包括xml和properties。缺點:不能在servlet外面應用讀取配置信息。

方式二:採用ResourceBundle類讀取配置信息,

優點是:可以以完全限定類名的方式載入資源後,直接的讀取出來,且可以在非Web應用中讀取資源文件。缺點:只能載入類classes下面的資源文件且只能讀取.properties文件。

Java文件讀寫

實用的模糊(通配符)文件查找程序

1 import java.io.File;

2 import java.util.regex.Matcher;

3 import java.util.regex.Pattern;

4 import java.util.ArrayList;

5

6 /** *//**

7 * pTitle: FileService /p

8* pDescription: 獲取文件 /p

9* pCopyright: Copyright (c) 2007/p

10* pCompany: /p

11* @author not attributable

12* @version 1.0

13*/

14public class FileService {

15 public FileService() {

16 }

17

18 /** *//**

19 * 在本文件夾下查找

20 * @param s String 文件名

21 * @return File[] 找到的文件

22 */

23 public static File[] getFiles(String s)

24 {

25 return getFiles(“./”,s);

26 }

27

28 /** *//**

29 * 獲取文件

30 * 可以根據正則表達式查找

31 * @param dir String 文件夾名稱

32 * @param s String 查找文件名,可帶*.?進行模糊查詢

33 * @return File[] 找到的文件

34 */

35 public static File[] getFiles(String dir,String s) {

36 //開始的文件夾

37 File file = new File(dir);

38

39 s = s.replace(‘.’, ‘#’);

40 s = s.replaceAll(“#”, “\\\\.”);

41 s = s.replace(‘*’, ‘#’);

42 s = s.replaceAll(“#”, “.*”);

43 s = s.replace(‘?’, ‘#’);

44 s = s.replaceAll(“#”, “.?”);

45 s = “^” + s + “$”;

46

47 System.out.println(s);

48 Pattern p = Pattern.compile(s);

49 ArrayList list = filePattern(file, p);

50

51 File[] rtn = new File[list.size()];

52 list.toArray(rtn);

53 return rtn;

54 }

55

56 /** *//**

57 * @param file File 起始文件夾

58 * @param p Pattern 匹配類型

59 * @return ArrayList 其文件夾下的文件夾

60 */

61

62 private static ArrayList filePattern(File file, Pattern p) {

63 if (file == null) {

64 return null;

65 }

66 else if (file.isFile()) {

67 Matcher fMatcher = p.matcher(file.getName());

68 if (fMatcher.matches()) {

69 ArrayList list = new ArrayList();

70 list.add(file);

71 return list;

72 }

73 }

74 else if (file.isDirectory()) {

75 File[] files = file.listFiles();

76 if (files != null files.length 0) {

77 ArrayList list = new ArrayList();

78 for (int i = 0; i files.length; i++) {

79 ArrayList rlist = filePattern(files[i], p);

80 if (rlist != null) {

81 list.addAll(rlist);

82 }

83 }

84 return list;

85 }

86 }

87 return null;

88 }

89

90 /** *//**

91 * 測試

92 * @param args String[]

93 */

94 public static void main(String[] args) {

95 }

96}

java文件讀寫

在網上查了很多關於修改文件的方法,不得其要領。自己想了兩個取巧的辦法,來解決對文件的修改。一:讀取一個文件file1(FileReader and BufferedReader),進行操作後寫入file2(FileWriter and BufferedWriter),然後刪除file1,更改file2文件名為file1(Rename()方法)。二:創建字元緩衝流(StringBuffer),讀取文件內容賦給字元緩衝流,再將字元緩衝流中的內容寫入到讀取的文件中。例如: test.txt 這裡是放在d盤的根目錄下,內容如下 able adj 有才幹的,能幹的 active adj 主動的,活躍的 adaptable adj 適應性強的 adroit adj 靈巧的,機敏的 運行結果生成在同目錄的 test1.txt中 able #adj*有才幹的,能幹的 active #adj*主動的,活躍的 adaptable #adj*適應性強的 adroit #adj*靈巧的,機敏的 代碼: public class Test { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new FileReader(“D:\\test.txt”)); StringBuffer sb = new StringBuffer(); String lineContent = null ;while( (lineContent = br.readLine()) != null){ String[] sp = lineContent.split(” “);sp[0] = sp[0].concat(” *”);sp[1] = sp[1].concat(“# “);for(int i=0;i sb.append(sp[i]);}sb.append(“\r\n”);}FileWriter fw = new FileWriter(“D:\\test2.txt”); fw.write(sb.toString()); br.close(); fw.close(); }}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/186033.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-26 21:09
下一篇 2024-11-26 21:09

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論