字符流实现文件复制

字符流完成文件复制

代码实现:

public static void main(String[] args) {
String str = File.separator;
FileReader fileReader = null;
FileWriter fileWriter = null;
try {
fileReader = new FileReader(“C:” + str + “ab” + str + “b.txt”);
fileWriter = new FileWriter(“C:” + str + “ab” + str + “ff.txt”);
int ch = 0;
char[] charray = new char[1024 * 1];
while ((ch = fileReader.read(charray)) != -1) {
fileWriter.write(charray, 0, ch);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (fileReader != null) {
try {
fileReader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (fileWriter != null) {
try {
fileWriter.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

}

字符缓冲流实现代码复制

使用此方法要注意源文件保存的编码格式

代码实现:

public static void main(String[] args) {
// 使用此方法时要注意文件的编码格式
String str = File.separator;
FileReader fileReader = null;
FileWriter fileWriter = null;
BufferedReader bufferedReader = null;
BufferedWriter bufferedWriter = null;
try {
fileReader = new FileReader(“C:” + str + “ab” + str + “b1.txt”);
fileWriter = new FileWriter(“C:” + str + “ab” + str + “p1.txt”);
bufferedReader = new BufferedReader(fileReader);
bufferedWriter = new BufferedWriter(fileWriter);
int ch = 0;
char[] charArray = new char[1024 * 1];
while ((ch = bufferedReader.read(charArray)) != -1) {
bufferedWriter.write(charArray, 0, ch);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (bufferedWriter != null) {
try {
bufferedWriter.close();
bufferedWriter.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

}

readLine() 和newLine() 方法实现文件的复制

Bufferedreader 的readLine() 方法实现了一次读一行文本的操作,

Bufferedreader 的newLine() 方法可以输出一个跨平台的换行符号“\r\n”

代码实现

public static void main(String[] args) {
String str = File.separator;
FileReader fileReader = null;
FileWriter fileWriter = null;
BufferedReader bufferedReader = null;
BufferedWriter bufferedWriter = null;
try {
fileReader = new FileReader(“C:” + str + “ab” + str + “b1.txt”);
fileWriter = new FileWriter(“C:” + str + “ab” + str + “p2.txt”);
bufferedReader = new BufferedReader(fileReader);
bufferedWriter = new BufferedWriter(fileWriter);
String line = null;
while ((line = bufferedReader.readLine()) != null) {
bufferedWriter.write(line);
bufferedWriter.newLine();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (bufferedWriter != null) {
try {
bufferedWriter.close();
bufferedWriter.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

}

版权声明:本文为qq_51326862原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。