Java -- 文件基礎知識--Java IO流原理--FileReader

目錄

1. 常用文件操作

2. Java IO流原理

2.1 流的分類

3. FileReader和FileWriter介紹

FileReader相關方法:

FileWriter常用方法:


文件是保存數據的地方,比如大家經常使用的word文檔,txt文件,excel文件...都是文件。

1. 常用文件操作

File file = new File("B:\\news1.txt");

//調用相應的方法,得到對應信息
System.out.println("文件名字= "+file.getName());
//
System.out.println("文件絕對路徑= "+file.getAbsolutePath());
System.out.println("文件父級目錄="+file.getParent());
System.out.println("文件大小(字節)="+file.length());
System.out.println("文件是否存在="+file.exists());
System.out.println("是不是一個文件="+file.isFile());
System.out.println("是不是一個目錄="+file.isDirectory());


2. Java IO流原理

1. I/O是Input/Output的縮寫,I/O技術是非常實用的技術,用于處理數據傳輸。如讀/寫文件,網絡通訊等。

2. Java程序中,對于數據的輸入/輸出操作以“流(stream)”的方式進行。

3. java.io包下提供了各種“流”類和接口,用以獲取不同種類的數據,并通過方法輸入或輸出數據

4. 輸入input:讀取外部數據(磁盤,光盤等存儲設備的數據)到程序(內存)中。

5. 輸出output:將程序(內存)數據輸出到磁盤,光盤等存儲設備中。

2.1 流的分類

按操作數據單位不同分為:字節流(8bit)二進制文件,字符流(按字符)

按數據流的流向不同分為:輸入流,輸出流

按流的角色的不同分為:節點流,處理流/包裝流

輸入流:InputStream(字節流)? ?Reader(字符流)

輸出流:OutputStream(字節流)? ?Writer(字符流)

Java的IO流涉及40多個類,實際上非常規則,都是從如上4個抽象基類派生的

由這四個類派生出來的子類名稱都是以其父類名作為子類名后綴


3. FileReader和FileWriter介紹

FileReader和FileWriter是字符流,即按照字符來操作io

FileReader相關方法:


1. new?FileReader

2. read:每次讀取單個字符,返回該字符,如果到文件末尾返回-1

3. new String(char[]):將char[] 轉換成String

FileWriter常用方法:

1. new FileWriter(File/String):覆蓋模式,相當于流的指針在首段

2. write(int):寫入單個字符

3. write(char):寫入指定數組

4.?write(string):寫入整個字符串

注意:FileWriter使用后,必須要關閉(close)或刷新(flush),否則寫入不到指定的文件

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/94620.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/94620.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/94620.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

向量方法證明正余弦定理的數學理論體系

向量方法證明正余弦定理的數學理論體系 摘要: 向量理論為幾何定理的證明提供了強有力的代數化工具。本文基于向量空間的基本概念與運算性質,嚴格推導平面幾何中的正弦定理與余弦定理。通過建立系統的向量表示框架,將幾何關系轉化為向量運算&a…

【筆記ing】大模型算法架構

前言 隨著人工智能技術的飛速發展,大模型算法及其架構已成為推動科技前沿的重要力量。它們不僅能夠處理海量的數據,還具備強大的表征學習能力,能夠應對日益復雜的場景需求。本章節將介紹大模型算法及其架構,帶您了解其背后的原理、技術創新以及在實際應用中的廣闊前景。 …

ConcurrentHashMap的原理

1.底層數據結構JDK1.7底層采用分段的數組鏈表實現JDK1.8 采用的數據結構跟HashMap1.8的結構一樣,數組鏈表/紅黑二叉樹2.加鎖的方式JDK1.7采用Segment分段鎖,底層使用的是ReentrantLockJDK1.8采用CAS添加新節點,采用synchronized鎖定鏈表或紅黑二叉樹的首節點,相對Segment分段鎖…

【論文閱讀】健全個體無輔助運動期間可穿戴傳感器雙側下肢神經機械信號的基準數據集

Benchmark Datasets for Bilateral Lower-Limb Neuromechanical Signals from Wearable Sensors during Unassisted Locomotion in Able-Bodied Individuals 原文:DOI: 10.3389/frobt.2018.00014 2018年 翻譯:靠岸學術 目錄 1引言 2儀器設…

反向海淘系統搭建:從架構設計到合規運營的全方位指南

一、系統架構設計1.1 分層架構設計反向海淘系統通常采用四層架構設計:?接入層?:負責與淘寶開放平臺、1688海外接口通信,處理接口認證、請求轉發與響應解析。?業務層?:包含商品檢索、訂單管理、支付處理、物流追蹤等核心模塊。…

20.22 QLoRA微調實戰:中文語音識別數據準備全流程解密

QLoRA微調實戰:中文語音識別數據準備全流程解密 實戰項目:QLoRA 微調數據準備詳解 本環節我們將以中文語音識別任務為場景,詳細拆解 QLoRA 微調前的數據準備流程。以下流程圖展示了完整的數據處理路徑: #mermaid-svg-A3ZpWn1ysZUg6jg4 {font-family:"trebuchet ms&q…

工業電子看板賦能線纜工廠生產高效運轉

在制造業智能化轉型的浪潮中,工業電子看板已不再只是“顯示數據的屏幕”,而是成為連接設備層、控制層與管理層的實時信息樞紐。尤其在線纜制造這類對工藝參數敏感、生產連續性要求高的行業中,電子看板通過對關鍵數據的透明化、實時化與交互化…

Java爬蟲是什么,如何獲取API接口

一、Java爬蟲的定義Java爬蟲是一種基于Java編程語言開發的網絡爬蟲程序。它通過模擬瀏覽器行為,向目標網站發送HTTP請求,獲取網頁內容并解析出所需數據。Java爬蟲技術廣泛應用于數據采集、市場分析、競爭情報等領域。二、Java爬蟲獲取API接口的方法&…

Python篇---返回類型

基礎返回類型:在 Python 中,函數的返回類型就像函數 “產出” 的不同 “物品”,理解它們能幫你更好地控制代碼的輸出。下面用通俗的方式介紹常見的返回類型及用法:一、最基礎的返回類型1. 無返回值(None)特…

ArkTS 與 TypeScript 的關系及鴻蒙開發常見錯誤案例

隨著 HarmonyOS NEXT(純血鴻蒙) 的到來,開發者在學習鴻蒙應用開發時會遇到一個新的語言 —— ArkTS。很多人會疑惑:它和 TypeScript(TS)是什么關系?又有哪些新的特性?在實際開發中&a…

初識socket編程(實現一個簡單的TCPServer)

監聽套接字的創建流程 在網絡編程中,listen 套接字(通常稱為“監聽套接字”)是服務器端用于接收客戶端連接請求的特殊套接字,是 TCP 服務器建立連接過程中的核心組件。下面我們就來簡單看一下監聽套接字創建的過程創建流程&#x…

開發者如何在 Gitee 上開源一個自己的項目

文章目錄一、為什么要在 Gitee 上開源?1. 開源的價值2. 為什么是 Gitee?二、前期準備:讓項目“可開源”1. 項目代碼整理2. 添加必要文件3. 確定開源許可證三、在 Gitee 上創建倉庫四、推送本地代碼到 Gitee五、完善項目展示(吸引力…

卷積神經網絡實現mnist手寫數字集識別案例

手寫數字識別是計算機視覺領域的“Hello World”,也是深度學習入門的經典案例。它通過訓練模型識別0-9的手寫數字圖像(如MNIST數據集),幫助我們快速掌握神經網絡的核心流程。本文將以PyTorch框架為基礎,帶你從數據加載…

實戰筆記——構建智能Agent:SpreadJS代碼助手

目錄 前言 解決思路 需求理解 MCP Server LangGraph 本教程目標 技術棧 第一部分:構建 MCP Server - 工具服務化的基礎架構 第二部分:Tools 實現 第三部分:基于 LangGraph 構建智能 Agent 第四部分:服務器和前端搭建 前…

【Word】用 Python 輕松實現 Word 文檔對比并生成可視化 HTML 報告

在日常工作和學習中,我們經常需要對兩個版本的文檔進行比對,比如合同修改、論文修訂、報告更新等。手動逐字檢查不僅耗時費力,還容易遺漏細節。 今天,我將帶你使用 Python python-docx difflib 實現一個自動化 Word 文檔對比工具…

從0開始搭建一個前端項目(vue + vite + typescript)

版本 node:v22.17.1 pnpm:v10.13.1 vue:^3.5.18 vite:^7.0.6 typescipt:~5.8.0腳手架初始化vue pnpm create vuelatest只選擇: TypeScript, JSX 3. 用vscode打開創建的項目,并刪除多余的代碼esl…

1.ImGui-環境安裝

免責聲明:內容僅供學習參考,請合法利用知識,禁止進行違法犯罪活動! 本次游戲沒法給 內容參考于:微塵網絡安全 IMGUI是一個被廣泛應用到逆向里面的,它可以用來做外部的繪制,比如登錄界面&…

基于springboot的二手車交易系統

博主介紹:java高級開發,從事互聯網行業六年,熟悉各種主流語言,精通java、python、php、爬蟲、web開發,已經做了六年的畢業設計程序開發,開發過上千套畢業設計程序,沒有什么華麗的語言&#xff0…

修改win11任務欄時間字體和小圖標顏色

1 打開運行提示框 在桌面按快捷鍵winR,然后如下圖所示輸入regedit2 查找路徑 1、在路徑處粘貼路徑計算機\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize 2、如下圖所示,雙擊打開ColorPrevalence,將里面的…

第13集 當您的USB設備不在已實測支持列表,如何讓TOS-WLink支持您的USB設備--答案Wireshark USB抓包

問:當您的USB設備不在已實測支持列表,如何讓TOS-WLink支持您的USB設備? 答案:使用Wireshark USB抓包,日志發給我 為什么要抓包: USB設備種類繁多;TOS-WLink是單片機,內存緊張&#…