怎么用JAVA把一个文件写到另个文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用JAVA把一个文件写到另个文件相关的知识,希望对你有一定的参考价值。

我这个方法能读取以.js和.java结尾的文件,只需要指定.js和.java在哪个路径下即可!
可以读取多个文件写到一个目标文件中。
public class FileReader
// 读取符合要求的文件,忽略其他文件
static boolean copy(String[] str)
// 目标文件夹,没有自动创建
File targetDir = new File("D:");
// 参数str,传入源文件夹目录以及选择的文件
File srcDir = new File(str[0]);
final String str_java = str[1];
final String str_cs = str[2];
// 源文件夹不存在,则返回
if (!srcDir.exists())
return false;
else
// 查找所有的java文件
File[] arr = srcDir.listFiles(new FileFilter()
public boolean accept(File f)
// 当选择时,将标识置为1
int[] arr1 = new int[3];
// 没有选择java文件
if (null == str_java || "".equals(str_java))
arr1[1] = 1;

// 没有选择cs文件
if (null == str_cs || "".equals(str_cs))
arr1[2] = 1;

// 全选
if (arr1[1] == 0 && arr1[2] == 0)
arr1[0] = 1;

// 当前文件为文件夹时,返回false
if (f.isDirectory())
return false;
else if (arr1[0] == 1)
// java和cs文件
if (f.getName().endsWith(".java"))
return f.getName().endsWith(".java");
else if (f.getName().endsWith(".cs"))
return f.getName().endsWith(".cs");

else if (arr1[1] == 1)
// cs文件
if (f.getName().endsWith(".cs"))
return f.getName().endsWith(".cs");
else
return false;

else if (arr1[2] == 1)
// java文件
if (f.getName().endsWith(".java"))
return f.getName().endsWith(".java");
else
return false;

return false;

);
String targetPath = targetDir.getPath();
// 文件路径
File f = new File(targetPath);
// 如果文件夹不存在,则创建新文件夹
if (!f.exists())
f.mkdirs();

StringBuilder sb = new StringBuilder();
// 目标文件的绝对路径
String targetFile = targetPath + File.separatorChar + "Code.txt";
PrintWriter out = null;
try
out = new PrintWriter(new BufferedWriter(
new FileWriter(targetFile)));
catch (IOException e)
return false;

int i = 0;
// 遍历符合条件的文件
for (File file : arr)
i++;
// 截取当前文件名称
String name = file.getName();
int index = name.indexOf('.');
name = name.substring(0, index);
BufferedInputStream in = null;
try
in = new BufferedInputStream(
new FileInputStream(file.getPath()), 8192);
catch (FileNotFoundException e)
return false;

// 缓存
byte[] buffer = new byte[4096];
int length = -1;
sb.append("对象名:" + name);
sb.append("\r\n");
// 读取数据
try
while ((length = in.read(buffer)) != -1)
// 读取文件
String s = new String(buffer, 0, length);
sb.append(s);

catch (IOException e)
e.printStackTrace();

sb.append("\r\n");
try
in.close();
catch (IOException e)
return false;


out.println(sb.toString());
out.flush();
out.close();
if (i > 0)
return true;
else
return false;



参考技术A 用bufferread把一个文件中的内容读出来,然后写进另一个文件.如果另一个文件不存在,还要写一个创建文件的函数.所以最好前面有一个判断你指定的目录下是否存在另一个文件的判断函数.具体的你可以网上搜一下.很多实现的.

python读取一个文件的每一行判断是否为素数,并把结果写到另一个文件中

刚刚学习python的菜鸟,这道题包括:文件的读写,python的参数调用,异常的使用,函数的使用

创建一个文本文件inti_prime.txt

执行命令:python Prime.py init_prime.txt result_prime.txt

会生成一个result_prime.txt文件

 1 #-*- coding:UTF-8 -*-
 2 #读取一个文件的每一行,每一行为一个数字
 3 #判断数字是不是素数
 4 #并打印结果到另外一个文件
 5 #输入文件名和输出文件名用参数的形式
 6 import sys
 7 import math
 8 #输入文件
 9 str1=sys.argv[1]
10 #输出文件
11 str2=sys.argv[2]
12 #打开文件
13 try:
14     file_object=open(str1,"r+")
15 except IOError:
16     print "找不到这个文件".decode(utf8).encode(gbk)
17 else:
18     file_result=open(str2,"w+")
19 #判断是否为素数
20     def IsPrime(number):
21         if number<2:
22             return False
23         else:
24             for i in range(2,int(math.ceil(math.sqrt(number))+1)):
25                 if number==2:
26                     return True
27                 else:
28                     if number%i==0:
29                         return False
30                     else:
31                         continue
32             return True
33 #读取文件
34     for line in file_object:
35         line = line.strip()
36         if IsPrime(int(line)):
37             file_result.write(line+" is a Prime"+"\n")
38         else:
39             continue
40     file_object.close()
41     file_result.close()
42 
43 
44             

 

以上是关于怎么用JAVA把一个文件写到另个文件的主要内容,如果未能解决你的问题,请参考以下文章

在Unity3D中,如何用脚本把对象加到另个对象下面,成为子对象

我有一个shell脚本,想把输出结果写到另一个文件中,请问脚本应该怎么添加命令?

如何把一个excel表中的数据对应到另个一表中

用BufferedReader 和BufferedWriter 类 将一个文件的字符串排序写到另一个文件

Java 所有对象强转到Object之后,都能够完整的强转回去吗

Java 所有对象强转到Object之后,都能够完整的强转回去吗