非常實用的Java檔案操作類
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
/**
* 一個非常實用的檔案操作類
*
* @author zhangjunying
*
*/
public class TextFile extends ArrayList<String> {
private static final long serialVersionUID = -1942855619975438512L;
// 以字串形式讀取檔案
public static String read(String filename) {
StringBuilder sb = new StringBuilder();
try {
BufferedReader in = new BufferedReader(new FileReader(new File(
filename).getAbsoluteFile()));
String s;
try {
while ((s = in.readLine()) != null) {
sb.append(s);
sb.append("\n");
}
} finally {
in.close();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
return sb.toString();
}
// 在一個方法呼叫中寫一個檔案
public static void write(String fileName, String text) {
try {
PrintWriter out = new PrintWriter(
new File(fileName).getAbsoluteFile());
try {
out.print(text);
} finally {
out.close();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
// 讀取一個檔案,通過任何正則表示式拆分
public TextFile(String fileName, String splitter) {
super(Arrays.asList(read(fileName).split(splitter)));
if (get(0).equals(""))
remove(0);
}
// 正常按行讀取
public TextFile(String fileName) {
this(fileName, "\n");
}
public void write(String fileName) {
try {
PrintWriter out = new PrintWriter(
new File(fileName).getAbsoluteFile());
try {
for (String item : this)
out.println(item);
} finally {
out.close();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
/**
* 讀取二進位制檔案
*
* @param file
* file物件
* @return
* @throws IOException
*/
public static byte[] BinaryFile(File file) throws IOException {
BufferedInputStream bf = new BufferedInputStream(new FileInputStream(
file));
try {
byte[] data = new byte[bf.available()];
bf.read(data);
return data;
} finally {
bf.close();
}
}
/**
* 讀取二進位制檔案
*
* @param file
* 檔案路徑
* @return
* @throws IOException
*/
public static byte[] BinaryFile(String file) throws IOException {
return BinaryFile(new File(file).getAbsoluteFile());
}
// 測試,我已經在根目錄生成了一個名為reflectDemo.java的檔案
public static void main(String[] args) {
String path = "/home/zhangjunying/Workspaces/MyEclipse Professional 2014/BasicInterviewQuestions/src/reflectDemo.java";
/* read() 測試 */
System.out.println(read(path));
/* write() 測試 */
write("out.d", "測試寫");
/* 構造測試 */
TextFile tf = new TextFile(path);
}
}
相關推薦
非常實用的Java檔案操作類
import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java
Java 檔案操作類(操作目錄)
·列出目錄下的資訊:public String[ ] list();·列出所有的資訊以File類物件包裝:public File [ ] listFiles();範例1:列出資訊import java.
Java之路:檔案操作類——File
要把程式所處理的資料在不同的記憶體容器(記憶體或外存)進行傳輸,例如將記憶體的資料寫到外存(某個檔案中),就要用到I/O(輸入/輸出)技術。Java提供的I/O操作可以把資料儲存到多種型別的檔案中。 大多數的應用程式都需要與外部的輸入/輸出裝置I/O(Input/Output)進
Java 高階程式設計-File檔案操作類
1. File類說明 2. File類的基本使用 3. File類深入操作 4. 獲取檔案資訊 5. File操作案例:列出指定目錄中的全部檔案
java IO程式設計(一)檔案操作類:File
學習過程中某個知識點長時間不用老是忘記,在此記錄,下次忘記容易複習。 在java.io包中,如果要進行檔案自身的操作(例如:建立、刪除等),只能依靠java.io.File類完成。File類中的常用方法在下表中列出 File
Java檔案操作工具類FileUtils
package com.suobei.xinzhiying.base.utils.file; import com.suobei.xinzhiying.base.result.ResponseMap; import com.suobei.xinzhiying.base.utils.aliy
JAVA開發經驗(二):常用工具類2.1-IO-檔案操作類(FileUtil)
摘要說明: FileUtil主要是整合Apache Commons IO庫中的FileUtils類;主要包括對檔案的屬性查詢,複製,移動,檔案讀取,刪除等 Apache Commons IO庫包含實用程式類,流實現,檔案過濾器,檔案比較器,位元組序轉換類等等 Maven
Java IO操作——簡單瞭解RandomAccessFile隨機讀寫檔案操作類的使用
學習目標 掌握RandomAccessFile類的作用 可以使用RandomAccessFile讀取指定位置的資料 RandomAccessFile類的主要功能是完成隨機讀取功能,可以讀取指定位置的
Java IO操作——檔案操作類File的使用
學習目標 掌握File類的使用 可以使用File類中的方法對檔案進行操作。 在整個Java的學習中,個人感覺學習較為困難的地方就是IO,因為整個IO是非常龐大的,而且有很多操作的類。每個類都有各自
Java IO程式設計——File檔案操作類
在Java語言裡面提供有對於檔案作業系統操作的支援,而這個支援就在java.io.File類中進行了定義,也就是說在整個java.io包裡面,File類是唯一 一個與檔案本身操作(建立、刪除、重新命名等)有關的類,而如果要想進行File類的操作,必須要提供有完整的路徑,而後可以呼叫相
《Java》Java“檔案操作”實際應用
一、任務目標 1.完成一個java application應用程式,判別指定路徑下指定檔名的檔案是否存在。如果指定檔案存在,讀取並分別顯示其修改時間和檔案大小等屬性。 2.以文字方式開啟某一指定路徑指定檔名的文字檔案,讀取其內容並顯示。 3.以文字方式向某一指定路徑指定檔名的文字檔案寫入
JAVA 原子操作類
上文中,guava程式碼中就用到了,在這裡再專門捋一下 部分內容源自: https://www.jianshu.com/p/712681f5aecd https://www.yiibai.com/java_concurrency/concurrency_atomiclong.html Atomi
強化JAVA圖形操作類
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Java檔案操作--inputStream轉為file
在玩爬蟲的過程中,其中有一部分是下載視訊,利用原生的HttpURLConnection獲得獲得inputStream之後,將輸入流寫入到本地檔案中,形成mp4格式的視訊檔案,發現最初使用的方法特別慢,想找尋更好的方法,提升效率。 1.原始方法 //pathName就是檔案儲存的路徑 Buff
php 的檔案操作類
<?php header('Content-type:text/html;charset=utf8'); Class FILE { private static $path; private static $files = []; private static $dirs
java反射操作類方法與屬性
package com.fanshe.test; public class User { private int age; private String email; private String username; public User() {
Idea不識別java檔案(類檔案顯示橙色)
解決: 1.點選File --> Project Structure 2.Modules 裡 將Content Root刪除再新增 3.重新修改maven設定(非maven專案請跳過此步) File->setting &
java日期操作類
Java.util.Date //java.util.Date與long轉換 Date date=new Date();//得到當前系統時間 System.out.println(date);//Thu Nov 22 19:21:12 CST 2018 long time = date.
File檔案操作類
Java.io包中,File類是唯一一個與檔案本身操作(建立、刪除、取得資訊)有關,與檔案內容無關的程式類。 1.File類的基本使用(即可描述真實檔案,也可是個資料夾) File類的兩種例項化方式: public File(String pathname) :傳入檔案的
Java檔案操作
用Java實現對文字檔案按行進行讀取,每讀取一行後顯示此行,統計每行有多少字元並顯示統計結果。最後顯示總的行數。 import java.io.BufferedReader; import java.io.File; import java.io.FileR