溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Java對文件的讀寫操作

發(fā)布時間:2020-07-22 10:03:52 來源:億速云 閱讀:156 作者:Leah 欄目:編程語言

本篇文章為大家展示了如何使用Java對文件的讀寫操作,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

像我們經常會遇到這樣的事情,例如一個txt文件中有姓名和電話,這個時候很經常就需要將名字和電話號碼進行提取操作,這個時候就可以利用Java中io來實現了。

這里我就不具體介紹io中的字節(jié)流和字符流的異同點了,有興趣的同學可以自己百度百度。

今天主要是介紹一下如何實現對文件內容的獲取還有就是對獲取的文件內容進行修改操作。下面看具體案例介紹。

如何使用Java對文件的讀寫操作

這個是案例最終要實現的效果,在姓名和電話號碼直接添加分割符號。

這里有一點需要主要的是,這個案例并不是直接在原先的txt文檔上面進行修改的,而是新建一個新的txt文件重新寫入新的內容。

好了廢話不多說,看看這個案例具體是怎么具體實現的。

這個案例分為三個模塊:1.文件讀取模塊,2.姓名電話分離模塊,3.文件寫入模塊

1.文件讀取模塊:

 /**
     * 功能:Java讀取txt文件的內容
     * 步驟:1:先獲得文件句柄
     * 2:獲得文件句柄當做是輸入一個字節(jié)碼流,需要對這個輸入流進行讀取
     * 3:讀取到輸入流后,需要讀取生成字節(jié)流
     * 4:一行一行的輸出。readline()。
     * 備注:需要考慮的是異常情況
     * @param filePath
     */
	public static String readTxtFile(String filePath) {
		StringBuilder content = new StringBuilder("");
		try {
			String encoding = "UTF-8";
			File file = new File(filePath);
			if (file.isFile() && file.exists()) {
				InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding);
				BufferedReader bufferedReader = new BufferedReader(read);
				String lineTxt = null;
				while ((lineTxt = bufferedReader.readLine()) != null) {
					String[] result = getNamePhone(lineTxt);
					System.out.println(lineTxt);
					content.append(result[0] + "----" + result[1]);
					content.append("\r\n");// txt換行
				}
				read.close();
			} else {
				System.out.println("找不到指定的文件");
			}
		} catch (Exception e) {
			System.out.println("讀取文件內容出錯");
			e.printStackTrace();
		}
		return content.toString();
	}

2.姓名電話分離模塊:

public static String[] getNamePhone(String str) {
		String[] result = new String[2];
		int index = 0;
		for (int i = 0; i < str.length(); i++) {
			if (str.charAt(i) >= '0' && str.charAt(i) <= '9') {
				index = i;
				break;
			}
		}
		result[0] = str.substring(0, index);
		result[1] = str.substring(index);
		return result;
	}

3.文件寫入模塊:

public static void printFile(String content) {
		BufferedWriter bw = null;
		try {
			File file = new File("D:/filename.txt");
			if (!file.exists()) {
				file.createNewFile();
			}
			FileWriter fw = new FileWriter(file.getAbsoluteFile());
			bw = new BufferedWriter(fw);
			bw.write(content);
			bw.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

通過這三個模塊就可以實現對文件的讀取操作了,然后對信息進行處理,最后將處理好的信息添加到新的文件中去。

這里需要注意的是:項目的編碼格式要寫成utf-8,否則會出現亂碼的情況。

如何使用Java對文件的讀寫操作

到這里文件的讀寫操作就完結了,是不是特別簡單方便。

上述內容就是如何使用Java對文件的讀寫操作,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI