直接复制路径,然后运行,会发生错误。
错误如下,不知为啥。
之后,重新输入一样的路径,错误消失。
错误的代码
package try_a_package;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
class copyFirst {
public static void main(String args[])
{
// 得到当前工作目录
String curPath=System.getProperty("user.dir");
System.out.println(curPath);
// 文件输入输出
try {
File f1=new File("D:\\file1.txt");
File f2=new File("D:\\file2.txt");
FileInputStream in = new FileInputStream(f1);
FileOutputStream out=new FileOutputStream(f2);
System.out.println(in.available());
while(in.available()>0)
{
int ch=in.read();
out.write(ch);
}
in.close();
out.close();
System.out.println("Success");
}
catch(FileNotFoundException e) {
System.out.println("错误,该文件打不开!");
}
catch(IOException e) {
System.out.println("错误,文件不能读写!");
}
}
}
正确的代码
package try_a_package;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
class copyFirst {
public static void main(String args[])
{
// 得到当前工作目录
String curPath=System.getProperty("user.dir");
System.out.println(curPath);
// 文件输入输出
try {
File f1=new File("D:\\file1.txt");
File f2=new File("D:\\file2.txt");
FileInputStream in = new FileInputStream(f1);
FileOutputStream out=new FileOutputStream(f2);
System.out.println(in.available());
while(in.available()>0)
{
int ch=in.read();
out.write(ch);
}
in.close();
out.close();
System.out.println("Success");
}
catch(FileNotFoundException e) {
System.out.println("错误,该文件打不开!");
}
catch(IOException e) {
System.out.println("错误,文件不能读写!");
}
}
}
这两个代码,在CSDN里面是一模一样的,但是我复制运行后,确实发生了错误,我不知道原理是什么。
盲猜:难道产生了编码问题?
(大佬教我!)