java中没有直接对文件进行拷贝,移动的处理 。所以我就自己写了一个方法来处理文件的拷贝,移动。
下面这个方法是文件移动方法,其中如果去掉红色部分代码,则是文件拷贝代码。
/**
* ファイルを移動する
*
* @param oldFile 古いファイル名
* @param newFilePath 新ファイルパス
* @param strEncoding charset
* @throws Exception
*/
private void removeFile(File oldFile, String newFilePath, String strEncoding) throws Exception {
FileInputStream fileInputStream = null;
InputStreamReader inputStreamRead = null;
BufferedReader bufferRead = null;
BufferedWriter newFileBW = null;
OutputStreamWriter outputStreamWriter = null;
FileOutputStream fileOutputStream = null;
boolean blnCopyOK = false;
try {
fileInputStream = new FileInputStream(oldFile);
inputStreamRead = new InputStreamReader(fileInputStream, strEncoding);
bufferRead = new BufferedReader(inputStreamRead);
File copyFile = new File(newFilePath + oldFile.getName());
fileOutputStream = new FileOutputStream(copyFile, false);
outputStreamWriter = new OutputStreamWriter(fileOutputStream, strEncoding);
newFileBW = new BufferedWriter(outputStreamWriter);
String strTSVLine = "";
while ((strTSVLine = bufferRead.readLine()) != null) {
if (strTSVLine.equals("")) {
continue;
}
newFileBW.write(strTSVLine + "/r/n");
}
blnCopyOK = true;
} finally {
if (bufferRead != null)
bufferRead.close();
if (blnCopyOK) {
oldFile.delete();
}
if (newFileBW != null) {
newFileBW.flush();
newFileBW.close();
}
}
}