本文主要內容:
(1)文件的複製
(2)文件的加密
1.文件的複製
public class Test3 {
public static void copyFile(File file, String path){//C://test//Test.txt
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(file);
File newFile = new File(path+"//"+file.getName());
fos = new FileOutputStream(newFile);
//讀取文件
byte[] b = new byte[1024];//可能會讀取空格
int count = fis.read(b);//1024,24個有效
while (count!=-1){
fos.write(b,0,count);
fos.flush();
count = fis.read(b);
}
System.out.println("複製完畢");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(fis!=null){
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
File file = new File("C://test//Test.txt");
copyFile(file,"D://test//bbb");
}
}
2.文件的加密
public class Test3 {
public static void copyFile(File file, String path){//C://test//Test.txt
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(file);
File newFile = new File(path+"//"+file.getName());
fos = new FileOutputStream(newFile);
//讀取文件
byte[] b = new byte[1024];//可能會讀取空格
int count = fis.read(b);//1024,24個有效
while (count!=-1){
//加密:每一次數組的前兩個元素位置互換
byte temp = b[0];
b[0] = b[1];
b[1] = temp;
fos.write(b,0,count);
fos.flush();
count = fis.read(b);
}
System.out.println("複製完畢");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(fis!=null){
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
File file = new File("C://test//Test.txt");
copyFile(file,"D://test//bbb");
}
}