import java.io.*;
//字节流
class ZiJie{
String file2 = "HelloB.txt";
void zijie(){
try{
BufferedOutputStream out2 = new BufferedOutputStream(new FileOutputStream(file2));
System.out.println("以字节流自动保存到c:\\HelloB.txt中!");
BufferedInputStream in2 = new BufferedInputStream(System.in);
int b = in2.read();
out2.write(b);
out2.close();
}catch (Exception e) {
// TODO: handle exception
}
}
}
import java.io.*;//字符流
class ZiFu { String file1 = "HelloA.txt";
void zifu(){
try{
BufferedWriter out1 = new BufferedWriter(new FileWriter(file1));
System.out.println("请输入字符串改字符串自动保存到c:\\HelloA.txt中!");
BufferedReader in1 = new BufferedReader(new InputStreamReader(System.in));
String a = in1.readLine();
out1.write(a);
out1.close();
}catch (Exception e) {
// TODO: handle exception
}
}
}
import java.io.*;
import java.text.*;class HeBing {
String file3 = "Hello.txt";
String file4 = "newHello.txt";
ZiFu zf = new ZiFu();
ZiJie zj = new ZiJie();
void hebing(){
try{//合并上面两文件并显示
BufferedWriter out3 = new BufferedWriter(new FileWriter(file3));
System.out.println("字节流形式合并HelloA.txt和HelloB.txt到c:\\HelloB.txt中!");
InputStream k1 = new FileInputStream(new File(zf.file1));
InputStream k2 = new FileInputStream(new File(zj.file2));
SequenceInputStream in4 = new SequenceInputStream(k1,k2);
int c = 0;
while((c=in4.read())!=-1){
out3.write(c);
}
out3.close();
InputStream k3 = new FileInputStream(new File(file3));
int d = 0;
while((d=k3.read())!=-1){
System.out.println(d);
}
问题出在这里!!!重命名始终不成功都两天了……哎……
//改名字
File file5 = new File(file4);
File file6 = new File(file3);
if(file5.exists()){
file5.delete();
}else {
boolean x = file5.renameTo(file5);
System.out.println(x);
} //打印文件属性
if(file5.exists()){
System.out.println(file5.getAbsolutePath());
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(file5.lastModified()));
System.out.println(file5.length());
System.out.println(file5.canRead());
System.out.println(file5.canWrite());
}
}catch (Exception e) {
// TODO: handle exception
}
}
}
//主函数
class IoTest{
public static void main(String[] agrs) {
ZiFu zf = new ZiFu();
ZiJie zj = new ZiJie();
HeBing hb = new HeBing();
zf.zifu();
zj.zijie();
hb.hebing();
}
}
//字节流
class ZiJie{
String file2 = "HelloB.txt";
void zijie(){
try{
BufferedOutputStream out2 = new BufferedOutputStream(new FileOutputStream(file2));
System.out.println("以字节流自动保存到c:\\HelloB.txt中!");
BufferedInputStream in2 = new BufferedInputStream(System.in);
int b = in2.read();
out2.write(b);
out2.close();
}catch (Exception e) {
// TODO: handle exception
}
}
}
import java.io.*;//字符流
class ZiFu { String file1 = "HelloA.txt";
void zifu(){
try{
BufferedWriter out1 = new BufferedWriter(new FileWriter(file1));
System.out.println("请输入字符串改字符串自动保存到c:\\HelloA.txt中!");
BufferedReader in1 = new BufferedReader(new InputStreamReader(System.in));
String a = in1.readLine();
out1.write(a);
out1.close();
}catch (Exception e) {
// TODO: handle exception
}
}
}
import java.io.*;
import java.text.*;class HeBing {
String file3 = "Hello.txt";
String file4 = "newHello.txt";
ZiFu zf = new ZiFu();
ZiJie zj = new ZiJie();
void hebing(){
try{//合并上面两文件并显示
BufferedWriter out3 = new BufferedWriter(new FileWriter(file3));
System.out.println("字节流形式合并HelloA.txt和HelloB.txt到c:\\HelloB.txt中!");
InputStream k1 = new FileInputStream(new File(zf.file1));
InputStream k2 = new FileInputStream(new File(zj.file2));
SequenceInputStream in4 = new SequenceInputStream(k1,k2);
int c = 0;
while((c=in4.read())!=-1){
out3.write(c);
}
out3.close();
InputStream k3 = new FileInputStream(new File(file3));
int d = 0;
while((d=k3.read())!=-1){
System.out.println(d);
}
问题出在这里!!!重命名始终不成功都两天了……哎……
//改名字
File file5 = new File(file4);
File file6 = new File(file3);
if(file5.exists()){
file5.delete();
}else {
boolean x = file5.renameTo(file5);
System.out.println(x);
} //打印文件属性
if(file5.exists()){
System.out.println(file5.getAbsolutePath());
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(file5.lastModified()));
System.out.println(file5.length());
System.out.println(file5.canRead());
System.out.println(file5.canWrite());
}
}catch (Exception e) {
// TODO: handle exception
}
}
}
//主函数
class IoTest{
public static void main(String[] agrs) {
ZiFu zf = new ZiFu();
ZiJie zj = new ZiJie();
HeBing hb = new HeBing();
zf.zifu();
zj.zijie();
hb.hebing();
}
}
//改名字
File file5 = new File(file4);
File file6 = new File(file3);
if(file5.exists()){
file5.delete();
}else {
boolean x = file5.renameTo(file5);
System.out.println(x);
}
文件不存在你改什么?
if(file5.exists()){
file5.delete();
}else {
boolean x = file5.renameTo(file5);
System.out.println(x);
}
if(file5.exists()){ 如果file5存在则删除
file5.delete();
}else { //file5不存在则改名
boolean x = file5.renameTo(file5); //既然file5不存在,又怎么能把file5改名,应该是file6吧
System.out.println(x); //file6.renameTo(file5);这样才对吧
}
//改名字
File file5 = new File(file4);
File file6 = new File(file3);
if(file5.exists()){
file5.delete();
}else {
boolean x = file6.renameTo(file5);
System.out.println(x);
}
结果:
请输入字符串改字符串自动保存到c:\HelloA.txt中!
fds
以字节流自动保存到c:\HelloB.txt中!
dsf
字节流形式合并HelloA.txt和HelloB.txt到c:\HelloB.txt中!
102
100
115
100
false
File file6 = new File(file3);//确定名称为file3的file存在吗
if(file5.exists()){
file5.delete();
}else {
boolean x = file6.renameTo(file5);//若file6不存在则结果为flaseSystem.out.println(x);
}
InputStream k3 = new FileInputStream(new File(file3));
你的k3流close了吗?
你打开file3文件没关闭,也就是说file3文件在使用中,那么改名就会失败
不然别的地方就无法正常使用这个文件。估计你的就是这原因