java文件复制粘贴
发布网友
发布时间:2022-04-24 05:52
我来回答
共4个回答
热心网友
时间:2023-10-03 08:06
复制粘贴实际上是文件的流读取和写入可以通过如下方法实现:
读写是两个不同的分支,通常都是分开单独使用的。
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
可以通过“FileOutputStream”创建文件实例,之后过“OutputStreamWriter”流的形式进行存储,举例:
OutputStreamWriter pw = null;//定义一个流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
pw.write("我是要写入到记事本文件的内容");//将要写入文件的内容,可以多次write
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
热心网友
时间:2023-10-03 08:07
6M超出了int最大值了nbLecture = sourceFile.read() nbLecture是指的读到字节的个数 6M越界了
这个很好解决 用缓冲流BufferedReader br = new BufferedReader(new FileReader(source))) 和 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileWriter(dessource)))来操作,循环部分换成 String str = null; while((str=br.readLine()) != null){bw.write(str), bw.newLine(); bw.flush()}可以并刷新 close带刷新功能 这个也不是最好的 输出用 打印流更简单 这个你自己去翻下api 的 PrintWriter,用打印流的时候要注意 先用setOutPut(des)指定输出对象 其实还能用DataStream来处理,毕竟它是专门处理字符的。。。方法很多哈
热心网友
时间:2023-10-03 08:07
你好!
~~文件是以2进制保存在硬盘的!要读取文件内容时(复制时)应该用IO(输入输出流)!
热心网友
时间:2023-10-03 08:08
直接使用apache的FileUtils的copy方法。
热心网友
时间:2023-10-03 08:06
复制粘贴实际上是文件的流读取和写入可以通过如下方法实现:
读写是两个不同的分支,通常都是分开单独使用的。
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
可以通过“FileOutputStream”创建文件实例,之后过“OutputStreamWriter”流的形式进行存储,举例:
OutputStreamWriter pw = null;//定义一个流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
pw.write("我是要写入到记事本文件的内容");//将要写入文件的内容,可以多次write
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
热心网友
时间:2023-10-03 08:07
6M超出了int最大值了nbLecture = sourceFile.read() nbLecture是指的读到字节的个数 6M越界了
这个很好解决 用缓冲流BufferedReader br = new BufferedReader(new FileReader(source))) 和 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileWriter(dessource)))来操作,循环部分换成 String str = null; while((str=br.readLine()) != null){bw.write(str), bw.newLine(); bw.flush()}可以并刷新 close带刷新功能 这个也不是最好的 输出用 打印流更简单 这个你自己去翻下api 的 PrintWriter,用打印流的时候要注意 先用setOutPut(des)指定输出对象 其实还能用DataStream来处理,毕竟它是专门处理字符的。。。方法很多哈
热心网友
时间:2023-10-03 08:07
你好!
~~文件是以2进制保存在硬盘的!要读取文件内容时(复制时)应该用IO(输入输出流)!
热心网友
时间:2023-10-03 08:08
直接使用apache的FileUtils的copy方法。