編程實(shí)現(xiàn)指定位置文件的寫入讀出?
[正確答案]
代碼:
package com.bwf.io;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileIO
{
public final String filePath = "d:\\bwf\\"; ?//文件路徑
public final String fileName = "file.txt"; ?//文件名字
File file = new File (filePath+fileName);//文件路徑字符串
/**
* 檢查文件路徑和文件名是否存在阵漏,不存在則創(chuàng)建
*/
public void checkFileExistsAndCreate()
{
File fileDirectory = new File(filePath);
if(!fileDirectory.exists()) ???//路徑不存在則創(chuàng)建
{
fileDirectory.mkdir();
}
if(!file.exists()) ????//文件不存在則創(chuàng)建
{
try
{
file.createNewFile();//文件名不存在則創(chuàng)建
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
/**
* 寫入文件
* @param fileContent 寫入的內(nèi)容
* @param append ?設(shè)置該流對文件的操作是否為續(xù)寫
*/
public void writeToFile(String fileContent,boolean append)
{
FileWriter fw;
try
{
fw = new FileWriter(file,append);
fw.write(fileContent);
fw.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
/**
* 讀出文件內(nèi)容
*/
public String readOutFile()
{
String content = "";
FileReader fr;
try
{
fr = new FileReader(file);
BufferedReaderbr = new BufferedReader(fr);//緩沖
String line;
while((line = br.readLine())!=null)
{
content += line;
}
fr.close();
br.close();
}
catch (Exception e)
{
e.printStackTrace();
}
return content;
}
/**
* 測試寫入輸出
*/
public static void main(String args[])
{
FileIO fileIO=new FileIO();
fileIO.checkFileExistsAndCreate();
fileIO.writeToFile("歡迎大家來博為峰學(xué)習(xí)Java全棧課程助琐!", true);
System.err.print(fileIO.readOutFile());
}
}
效果如圖所示:
[技術(shù)擴(kuò)展]
博為峰小博老師:
mkdir()如果你想在已經(jīng)存在的磁盤(D盤)下建立新的文件夾虱颗,就可以用此方法。此方法不能在不存在的文件夾下建立新的文件夾。假如想建立名字是"BWF"文件夾讹俊,那么它的父文件夾必須存在挤悉。
mkdirs() ?如果你想根據(jù)File里的路徑名建立文件夾.當(dāng)你不知道此文件夾是否存在渐裸,也不知道父文件夾存在,就可用此方法.它建立文件夾的原則是:如果父文件夾不存在并且最后一級子文件夾不存在装悲,它就自動新建所有路經(jīng)里寫的文件夾昏鹃;如果父文件夾存在,它就直接在已經(jīng)存在的父文件夾下新建子文件夾诀诊。