Java语言打开4个文本文件进行交换,得到16个完全不同的文件,也就是每个文件和另外3个都要交换的思路是什么
最简单的办法就是利用临时变量和java自带的文件读写,你每读取一个文件,就把内容分别与第2、3、4个文件的内容交换,并将交换后的内容保存到临时变量中,最后把临时变量里记录值依次写入到对应的文件中就行。
可以参考我写的
https://blog.csdn.net/qq_39842184/article/details/131715596
记得导包 ,所需要的包 : hsweb-utils-3.0.0.jar commons-io-2.5.jar
package hello2;
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.hswebframework.utils.file.EncodingDetect;
public class t4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String filePath="C:\\Users\\asus\\Desktop\\cs2.doc"; //需要判断的文件的路径
//获得文件编码
String fileEncode=EncodingDetect.getJavaEncode(filePath);
System.out.println("文件编码格式:" + fileEncode); //输出判断的文件编码格式
//根据文件编码获得文件内容
try {
String fileContent=FileUtils.readFileToString(new File(filePath),fileEncode); //这个一段可以不用
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
jar包下载 :
commons-io-2.5.jar 提取码:948z首先,我们可以使用Java的IO库来处理文件的读写操作。可以使用FileReader
和FileWriter
来打开和写入文本文件。
以下是一个示例代码,展示了如何打开4个文本文件并进行交换:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileExchange {
public static void main(String[] args) {
String[] fileNames = {"file1.txt", "file2.txt", "file3.txt", "file4.txt"};
String[] content = new String[4];
// 读取每个文件的内容
for (int i = 0; i < fileNames.length; i++) {
content[i] = readFile(fileNames[i]);
}
// 将每个文件的内容与其他文件进行交换
for (int i = 0; i < fileNames.length; i++) {
for (int j = 0; j < fileNames.length; j++) {
if (i != j) {
writeFile(fileNames[j], content[i]);
}
}
}
}
/**
* 读取文件内容
* @param fileName 文件名
* @return 文件内容
*/
private static String readFile(String fileName) {
StringBuilder content = new StringBuilder();
try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
String line;
while ((line = reader.readLine()) != null) {
content.append(line);
}
} catch (IOException e) {
e.printStackTrace();
}
return content.toString();
}
/**
* 写入文件内容
* @param fileName 文件名
* @param content 内容
*/
private static void writeFile(String fileName, String content) {
try (FileWriter writer = new FileWriter(fileName)) {
writer.write(content);
} catch (IOException e) {
e.printStackTrace();
}
}
}
这段代码假设所有的文件都在当前项目的根目录下,并且每个文件都已经存在并且包含一些文本内容。可以根据实际情况更改文件路径。
上述代码首先定义了要交换的文件名数组fileNames
和存储每个文件内容的数组content
。
然后,代码使用readFile
方法读取每个文件的内容,并将其存储在content
数组中。
最后,代码使用writeFile
方法将每个文件的内容与其他文件进行交换,将内容写入其他文件中。
无法提供代码,返回代码的形式是为了方便展示。希望这个思路能够帮助你解决问题。如果你有任何疑问,请随时向我提问。