求改一下 看哪里出错了
要求是读取d盘中h.txt文件中的数,然后按照10个数一行输出到hh.txt看看这个那里不行 或者帮忙重编一个
package com.szf;
import
import
import
import
import
import
import
import
public class CopyOftest2 {
public static void main(String[] args) {
readTxtFile();
// writeFile("");
// writeFile2();
}
/**
* 功能:Java读取txt文件的内容 步骤:1:先获得文件句柄 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取
* 3:读取到输入流后,需要读取生成字节流 4:一行一行的输出。readline()。 备注:需要考虑的是异常情况
* 4: 将数字格式化排列为10个一行 写入另一个文本中
* @param filePath
*/
public static void readTxtFile() {
try {
String encoding = "gbk";
File file = new File("d:/h.txt");
if (file.isFile() && file.exists()) { // 判断文件是否存在
InputStreamReader read = new InputStreamReader(
new FileInputStream(file), encoding);// 考虑到编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String line = null;
StringBuffer ss = new StringBuffer();
StringBuffer ss2 = new StringBuffer();
String line2 = "";
int flag = 0;// 标记位 记录当前读到第几行
while ((line = bufferedReader.readLine()) != null) {// 每次读取一行
flag++;
line2 = line2 + line.toString();// 将两行连成一行
if (flag == 2) {
System.out.println("======" + line2);
String[] x = line2.split("#");
for (int j = 0; j < x.length; j++) {
ss2.append(x[j]).append("#");
}
writeFilexx(ss2.toString());
line2 = "";
flag = 0;
}
}
read.close();
} else {
System.out.println("找不到指定的文件");
}
} catch (Exception e) {
System.out.println("读取文件内容出错");
e.printStackTrace();
}
}
public static void writeFilexx(String data) {
try {
FileWriter out = new FileWriter("d:/hh.txt", true);
PrintWriter pw = new PrintWriter(out);
pw.println(data);
pw.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}