前言:
👏作者簡介:我是笑霸final,一名熱愛技術的在校學生。
IO流入門1 檔案File
- File流層次圖
- 建立檔案對象相關的構造和方法
- 方式一:new File(路徑)
- 方式二 new File(父目錄檔案對象, 子路徑)
- 方式三:new File(父目錄檔案,子路徑)
- 常用的檔案操作
- 目錄的操作和檔案的删除
- boolean mkdirs = file.mkdirs();//建立多級目錄
File流層次圖
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICN4ETMfdHLkVGepZ2XtxSZ6l2clJ3LcBnYldHL0FWby9mZvwVPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsAjMfd3bkFGazxCMx8VesATMfhHLlN3XnxCMz8FdsYkRGZkRG9lcvx2bjxSa2EWNhJTW1AlUxEFeVRUUfRHelRHL2EzXlpXazxyayFWbyVGdhd3LcV2Zh1Wa9M3clN2byBXLzN3btg3Pn5GcuAzMyQGZwQmYiZWO4I2YyYzX5UDNyATMxEzLcdDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
建立檔案對象相關的構造和方法
常用的三種建立對象的方法:
方式一:根據路勁建構一個File對象
方式二:根據父目錄檔案對象+子路徑建構
建構形式
方式三:根據父目錄檔案+子路徑建構
new File();
方法才會建立檔案到磁盤上!
createNewFile()
方式一:new File(路徑)
new File(String pathname)
new File(String pathname)根據路勁建構一個File對象
直接寫入檔案路徑就ok了
@Test
public void create01(){
//直接把路徑寫清楚就可以了
String filePath="f:\\news1.text";
File file = new File(filePath);
try {
file.createNewFile();//會報一個IO異常。
System.out.println("檔案建立成功!!!!");
} catch (IOException e) {
e.printStackTrace();
}
}
方式二 new File(父目錄檔案對象, 子路徑)
//根據父目錄檔案對象+子路徑建構
//如果建立"f:\news2.text" 則parentfile 就是f:\
@Test
public void create02(){
File parentfile = new File("f:\\");//父目錄檔案
String fileName="news2.text";//子路徑
File file = new File(parentfile, fileName);
try {
file.createNewFile();
System.out.println("檔案建立成功!!!!");
} catch (IOException e) {
e.printStackTrace();
}
}
方式三:new File(父目錄檔案,子路徑)
@Test
//方式三new File(String parent,String child)根據父目錄檔案+子路徑建構
public void create03(){
String parentPath="f:\\";
String childPath="news3.text";
File file = new File(parentPath, childPath);
try {
file.createNewFile();
System.out.println("檔案建立成功!!!!");
} catch (IOException e) {
e.printStackTrace();
}
}
``createNewFile()`方法才會建立檔案到磁盤上!
常用的檔案操作
一些小案列:
@Test
public void info(){
//先建立檔案對象
File file = new File("f:\\news1.text");
//調用相應的方法就行,看一個案列
System.out.println("檔案名字:"+file.getName());
System.out.println("絕對路徑:"+file.getAbsolutePath());
System.out.println("檔案父目錄:"+file.getParent());
}
成功拿到檔案名字:
接下來示範擷取檔案大小
我們先打開檔案編輯一點文字
一個漢字3位元組 一個字母1位元組
@Test
public void info(){
//先建立檔案對象
File file = new File("f:\\news1.text");
//調用相應的方法就行,看一個案列
System.out.println("檔案名字:"+file.getName());
System.out.println("絕對路徑:"+file.getAbsolutePath());
System.out.println("檔案父目錄:"+file.getParent());
System.out.println("檔案大小(按位元組):"+file.length());
}
目錄的操作和檔案的删除
mkdir:建立一級目錄
mldirs:建立多級目錄
delete:删除空目錄或者檔案
删除操作
public void m1(){
String fileName="F://news2.text";
String fileName2="F://news4.text";
File file = new File(fileName);
File file2 = new File(fileName2);
if(file.exists()){
boolean delete = file.delete();
if(delete){
System.out.println("news2.text删除成功");
}else{
System.out.println("news2.text删除失敗");
}
}else{
System.out.println("對不起沒有該檔案");
}
if(file2.exists()){
}else{
boolean delete = file.delete();
if(delete){
System.out.println("news4.text删除成功");
}else{
System.out.println("news4.text删除失敗");
}
System.out.println("對不起沒有該檔案news4.text");
}
}
判斷目錄是否存在
在Java程式設計中,目錄也是一種檔案的存在
體會:
先建立一個檔案
@Test
public void m2(){
String fileName="F://Demo";
File file = new File(fileName);
if(file.exists()){
boolean delete = file.delete();
if(delete){
System.out.println("删除成功");
}else{
System.out.println("删除失敗");
}
}else{
System.out.println("對不起沒有該目錄");
}
}
boolean mkdirs = file.mkdirs();//建立多級目錄
判斷
"F://Demo//a"
是否存在?不存在就建立
mkdir()建立一級目錄
mkdirs()建立多級目錄
@Test
public void m3(){
String fileName="F://Demo//a";
File file = new File(fileName);
if(file.exists()){
System.out.println("該目錄存在");
}else{
boolean mkdirs = file.mkdirs();//建立多級目錄
if(mkdirs){
System.out.println("建立成功");
}else{
System.out.println("建立失敗");
}
}
}
第一次運作: