[面試原題]java
[博爲峯題目] 編程實現指定位置文件的寫入讀出?面試
[正確答案]編程
博爲峯小博老師:app
代碼:學習
package com.bwf.io;測試
import java.io.BufferedReader;.net
import java.io.File;code
import java.io.FileReader;字符串
import java.io.FileWriter;get
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);//文件路徑字符串
/**
* 檢查文件路徑和文件名是否存在,不存在則建立
*/
public void checkFileExistsAndCreate()
{
File fileDirectory = new File(filePath);
if(!fileDirectory.exists()) //路徑不存在則建立
{
fileDirectory.mkdir();
}
if(!file.exists()) //文件不存在則建立
{
try
{
file.createNewFile();//文件名不存在則建立
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
/**
* 寫入文件
* @param fileContent 寫入的內容
* @param append 設置該流對文件的操做是否爲續寫
*/
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();
}
}
/**
* 讀出文件內容
*/
public String readOutFile()
{
String content = "";
FileReader fr;
try
{
fr = new FileReader(file);
BufferedReader br = 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("歡迎你們來博爲峯學習Java全棧課程!", true);
System.err.print(fileIO.readOutFile());
}
}
效果如圖所示:
[技術擴展]
mkdir() 若是你想在已經存在的磁盤(D盤)下創建新的文件夾,就能夠用此方法。此方法不能在不存在的文件夾下創建新的文件夾。假如想創建名字是"BWF"文件夾,那麼它的父文件夾必須存在。
mkdirs() 若是你想根據File裏的路徑名創建文件夾.當你不知道此文件夾是否存在,也不知道父文件夾存在,就可用此方法.它創建文件夾的原則是:若是父文件夾不存在而且最後一級子文件夾不存在,它就自動新建全部路經裏寫的文件夾;若是父文件夾存在,它就直接在已經存在的父文件夾下新建子文件夾。