最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java?File類提供的方法與操作

 更新時(shí)間:2023年03月30日 09:48:41   作者:包小志  
Java使用File類來表示計(jì)算機(jī)系統(tǒng)磁盤文件的對(duì)象類型。File中提供了大量的方法,可以對(duì)文件進(jìn)行增加、刪除、修改、重命名等常規(guī)操作。File類的對(duì)象會(huì)存儲(chǔ)文件自身的信息,例如文件在系統(tǒng)中的存儲(chǔ)目錄、文件大小、文件讀寫權(quán)限等

File類

File類事java.io包中唯一代表磁盤文件本身的對(duì)象。File類定義了一些與平臺(tái)無關(guān)的方法來操作文件,可以通過調(diào)用File類中的方法,實(shí)現(xiàn)創(chuàng)建、刪除、重命名文件等操作。File類的對(duì)象主要用來獲取文件本身的一些信息,如文件所在的目錄、文件的長(zhǎng)度、文件讀寫權(quán)限等。數(shù)據(jù)流可以將數(shù)據(jù)寫入到文件中,文件也是數(shù)據(jù)流最常用的數(shù)據(jù)媒體。

1.文件的創(chuàng)建與刪除

可以使用File類創(chuàng)建一個(gè)文件對(duì)象。通常使用以下三種方法來創(chuàng)建文件對(duì)象。

(1)File(String pathname)

該構(gòu)造方法通過將給定路徑名字字符串轉(zhuǎn)換為抽象路徑名來創(chuàng)建一個(gè)新的File實(shí)例。例如:

File file = new File("d:/1.txt");

2.File類提供的方法

File類提供了很多方法以獲取文件本身的信息,常用的方法如下:

方法返回值說明
getName()String獲取文件的名稱
canRead()boolean判斷文件是否為可讀的
canWrite()boolean判斷文件是否可被寫入
exists()boolean判斷文件是否存在
delete()void刪除文件
length()long獲取文件的長(zhǎng)度(以字節(jié)為單位)
getAbsolutePath()String獲取文件的絕對(duì)路徑
getParent()String獲取文件的父路徑
isFile()boolean獲取文件的名稱
isDirectory()boolean判斷文件是否為一個(gè)目錄
isHidden()boolean判斷文件是否為隱藏文件
lastModified()long獲取文件最后修改時(shí)間

3.文件輸入/輸出流

程序運(yùn)行期間,大部分?jǐn)?shù)據(jù)都在內(nèi)存中進(jìn)行操作,當(dāng)程序結(jié)束或關(guān)閉時(shí),這些數(shù)據(jù)將消失。如果需要將數(shù)據(jù)永久保存,可以使用文件輸入/輸出流與指定文件建立連接,將需要的數(shù)據(jù)永久保存到文件中。

FileInputStream 與 FileOutputStream類

FileInputStream類與FileOutputStream類都用來操作磁盤文件。

FileInputStream類常用的構(gòu)造方法如下:

  • FileInputStream(String name)
  • FileInputStream(File file)

第一個(gè)構(gòu)造方法使用給定的文件名name創(chuàng)建一個(gè)FileInputStream對(duì)象,第二個(gè)構(gòu)造方法使用File對(duì)象創(chuàng)建FileInputStream對(duì)象。第一個(gè)構(gòu)造方法比較簡(jiǎn)單,但第二個(gè)構(gòu)造方法允許在把文件鏈接輸入流之前對(duì)文件作進(jìn)一步分析。

FileOutputStream類有與FileInputStream類相同的參數(shù)構(gòu)造方法,創(chuàng)建一個(gè)FileOutputStream對(duì)象時(shí),可以指定不存在的文件名,但此文件不能是一個(gè)已被其他程序打開的文件。例如:

public class FileTest{
	public static void main(String[]args){
		File file = new File("world.txt");
		try{
			FileOutputStream out = new FileOutputStream(file);
			byte buy[] = "我有一頭小毛驢,我從來也不騎。".getBytes();
			out.write(buy);
			out.close();
		} catch(Exception e) {
			e.printStackTrace();
		}
		try{
			//創(chuàng)建FileInputStream類對(duì)象
			FileInputStream in = new FileInputStream(file);
			byte byt[] = new byte[1024]; //創(chuàng)建byte數(shù)組
			int len = in.read(byt); //從文件中讀取信息
			System.out.println("文件中的信息是:" + new String(byt, 0, len))
			in.close();
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
}

4.FileReader和FileWriter類

使用FileOutputStream類向文件中寫入數(shù)據(jù)與使用FileInputStream類從文件中將內(nèi)容讀出來,都存在一點(diǎn)不足,即這兩個(gè)類都只提供了對(duì)字節(jié)或字節(jié)數(shù)組的讀取方法。由于漢字在文件中占用兩個(gè)字節(jié),如果使用字節(jié)流,讀取不好可能會(huì)出現(xiàn)亂碼的現(xiàn)象,此時(shí)采用字符流Reader或Writer類即可避免這種現(xiàn)象。

FileReader流順序地讀取文件,只要不關(guān)閉流,每次調(diào)用read()方法就順序地讀取源中其余的內(nèi)容,直到源的末尾或流被關(guān)閉。

本實(shí)例創(chuàng)建Swing窗體,單機(jī)“寫入文件”按鈕將實(shí)現(xiàn)文本框中的數(shù)據(jù)寫入磁盤文件中,單機(jī)“讀取文件”按鈕,系統(tǒng)將磁盤文件中的信息顯示在文本框里。

public class Ftest extends JFrame{
	private static final long serialVersionUID = 1L;
	private JPanel jContentPane = null; //創(chuàng)建面板對(duì)象
	private JTextArea jTextArea = null; //創(chuàng)建文本域?qū)ο?
	private JPanel controlPanel = null; //創(chuàng)建面板對(duì)象
	private JButton openButton = null; //創(chuàng)建按鈕對(duì)象
	private JButton closeButton = null; //創(chuàng)建按鈕對(duì)象
	private JButton getOpenButton(){
		if(openButton == null){
			openButton = new JButton();
			openButton.setText("寫入文件"); //修改按鈕的提示信息
			openButton.addActionListener(new ActionListener(){
				//按鈕的單機(jī)事件
				public void actionPerformed(ActionEvent e){
					File file = new File("world.txt"); //創(chuàng)建文件對(duì)象
					try{
						FileWriter out = new FileWriter(file); //創(chuàng)建FileWriter對(duì)象
						String s = jTextArea.getText(); //獲取文本域中文本
						out.write(s); //將信息寫入磁盤文件
						out.close(); //將流關(guān)閉
					catch(Exception e1){
						e1.printStackTrace();
					}
				}
			});
		}
		return openButton;
	}
	private JButton getCloseButton(){
		if(closeButton == null){
			closeButton = new JButton();
			closeButton.setText("讀取文件"); //修改按鈕的提示信息
			closeButton.addActionListener(new ActionListener(){
				//按鈕的單擊事件
				public void actionPerformed(ActionEvent e){
					File file = new File("world.txt"); //創(chuàng)建文件對(duì)象
					try{
						FileReader in = new FileReader(file); //創(chuàng)建FileReader對(duì)象
						char byt[] = new char[1024]; //創(chuàng)建char型數(shù)組
						int len = in.read(byt); //將字節(jié)讀入數(shù)組
						jTextArea.setText(new String(byt, 0, len)); //設(shè)置文本域的顯示信息
						in.close(); //關(guān)閉流
					}catch(Exception e1){
						e1.printStackTrace();
					}
				}
			});
		}
		return closeButton;
	}
	public Ftest(){
		super();
		initialize();
	}
	private void initilize(){
		this.setSize(300,200);
		this.setContentPane(getJContentPane());
		this.setTitle("JFrame");
	}
	private JPanel getJContentPane(){
		if(jContentPane == null){
			jContentPane = new JPanel();
			jContentPane.setLayout(new BorderLayout());
			jContentPane.add(getJTextArea(), BorderLayout.CENTER);
			jContentPane.add(getControlPanel(),BorderLayout.SOUTH);
		}
		return jContentPane;
	}
	public static void main(String[] args){ //主方法
		Ftest thisClass = new Ftest(); //創(chuàng)建本類對(duì)象
		thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		thisClass.setVisible(true); //設(shè)置該窗體的顯示狀態(tài)
	}
}

到此這篇關(guān)于Java File類提供的方法與操作的文章就介紹到這了,更多相關(guān)Java File類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入淺析hbase的優(yōu)點(diǎn)

    深入淺析hbase的優(yōu)點(diǎn)

    本文講述了HBase的特征和它的優(yōu)點(diǎn),并簡(jiǎn)要回顧了行鍵設(shè)計(jì)的重點(diǎn)之處,它還向你展示了如何在本地配置HBase環(huán)境,使用命令創(chuàng)建表、插入數(shù)據(jù)、檢索指定行以及最后如何進(jìn)行scan操作,感興趣的朋友一起看看吧
    2017-09-09
  • SpringBoot解析LocalDateTime失敗:Uniapp傳輸時(shí)間變1970的原因與解決方案

    SpringBoot解析LocalDateTime失?。篣niapp傳輸時(shí)間變1970的原因與解決方案

    這篇文章主要介紹了SpringBoot解析LocalDateTime失???Uniapp傳輸時(shí)間變1970的原因與解決方案,文中通過代碼示例給大家講解的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • Java 泛型總結(jié)(三):通配符的使用

    Java 泛型總結(jié)(三):通配符的使用

    在泛型的使用中,還有個(gè)重要的東西叫通配符,本文介紹通配符的使用。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-03-03
  • Java程序員容易犯的10大低級(jí)錯(cuò)誤

    Java程序員容易犯的10大低級(jí)錯(cuò)誤

    這篇文章主要介紹了Java程序員容易犯的10大低級(jí)錯(cuò)誤,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-09-09
  • Java設(shè)計(jì)模式以虹貓藍(lán)兔的故事講解裝飾器模式

    Java設(shè)計(jì)模式以虹貓藍(lán)兔的故事講解裝飾器模式

    裝飾器模式又名包裝(Wrapper)模式。裝飾器模式以對(duì)客戶端透明的方式拓展對(duì)象的功能,是繼承關(guān)系的一種替代方案,本篇文章以虹貓藍(lán)兔生動(dòng)形象的為你帶來詳細(xì)講解
    2022-04-04
  • java代碼規(guī)范之不合理命名與重復(fù)代碼示例詳解

    java代碼規(guī)范之不合理命名與重復(fù)代碼示例詳解

    這篇文章主要為大家介紹了java代碼規(guī)范之不合理命名與重復(fù)代碼示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 詳解SpringMVC組件之HandlerMapping(一)

    詳解SpringMVC組件之HandlerMapping(一)

    這篇文章主要介紹了詳解SpringMVC組件之HandlerMapping(一),HandlerMapping組件是Spring?MVC核心組件,用來根據(jù)請(qǐng)求的request查找對(duì)應(yīng)的Handler,在Spring?MVC中,有各式各樣的Web請(qǐng)求,每個(gè)請(qǐng)求都需要一個(gè)對(duì)應(yīng)的Handler來處理,需要的朋友可以參考下
    2023-08-08
  • 詳解Java爬蟲利器Jsoup

    詳解Java爬蟲利器Jsoup

    Jsoup是一款Java語言開發(fā)的HTML解析器,用于解析HTML文檔以及對(duì)HTML文檔進(jìn)行操作,處理等,本文就將詳細(xì)給大家介紹一下Java中的爬蟲利器Jsoup,感興趣的同學(xué)可以參考一下
    2023-06-06
  • java常用Lambda表達(dá)式使用場(chǎng)景源碼示例

    java常用Lambda表達(dá)式使用場(chǎng)景源碼示例

    這篇文章主要為大家介紹了java常用Lambda表達(dá)式使用場(chǎng)景源碼示例及應(yīng)用解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • Spring Boot 對(duì)接深度求索接口實(shí)現(xiàn)知識(shí)問答功能

    Spring Boot 對(duì)接深度求索接口實(shí)現(xiàn)知識(shí)問答功能

    本文詳細(xì)介紹了如何使用 Spring Boot 對(duì)接深度求索接口,實(shí)現(xiàn)知識(shí)問答功能,通過整合深度求索 API,我們可以輕松地在 Spring Boot 項(xiàng)目中實(shí)現(xiàn)智能問答功能,
    2025-02-02

最新評(píng)論

曲麻莱县| 南阳市| 霍城县| 安化县| 若羌县| 黎川县| 双峰县| 绥中县| 万载县| 林周县| 昆明市| 铜鼓县| 玉屏| 北碚区| 新闻| 微博| 清丰县| 库尔勒市| 潜江市| 府谷县| 阿荣旗| 乌审旗| 开远市| 凤阳县| 扎鲁特旗| 曲阜市| 正阳县| 保德县| 曲靖市| 通海县| 河北省| 于田县| 龙山县| 湾仔区| 南丰县| 深圳市| 余庆县| 北辰区| 鄄城县| 大化| 仙游县|