import java.io.*;
public class Liu5
{
public static void main(String[] args)throws IOException
{
File f1=new File("e:\\1.txt"); //创建两个File对象
File f2=new File("e:\\2.txt");
FileInputStream fis=new FileInputStream(f1); //创建FileInputStream对象
FileOutputStream fos=new FileOutputStream(f2); //创建FileOutputStream对象
byte[] b=new byte[(int)f1.length()];
fis.read(b); //读取1文件
for(int i=0;i<f1.length();i++)
{
fos.write(b[i]); //写入2文件
}
fis.close();
fos.close();
}
}
以上会出问题,会说1.txt文件找不到,只有创建了1.txt文件后才能运行,那我就纳闷为什么2.txt可以创建到,但1.txt却创建不了
public class Liu5
{
public static void main(String[] args)throws IOException
{
File f1=new File("e:\\1.txt"); //创建两个File对象
File f2=new File("e:\\2.txt");
FileInputStream fis=new FileInputStream(f1); //创建FileInputStream对象
FileOutputStream fos=new FileOutputStream(f2); //创建FileOutputStream对象
byte[] b=new byte[(int)f1.length()];
fis.read(b); //读取1文件
for(int i=0;i<f1.length();i++)
{
fos.write(b[i]); //写入2文件
}
fis.close();
fos.close();
}
}
以上会出问题,会说1.txt文件找不到,只有创建了1.txt文件后才能运行,那我就纳闷为什么2.txt可以创建到,但1.txt却创建不了
读文件必须要有文件
但是写文件不用,如果文件已经存在,则会直接往文件中写
如果文件不存在,会先建立文件,再往文件中写、、
FileOutputStream fos=new FileOutputStream(f2); //写文件,Java默认,当没有文件,执行写文件操作会自动创建
其实C\C++也是这样的,读文件,文件必须存在。写文件,当文件不存在时自动创建
linux 下是 cp
windows 文件分隔符是 \
linux 是 / 且没有所谓的盘符